Ниже приведен фрагмент кода службы, который показывает, как можно получить и использовать идентификатор WindowsIdentity, связанный с абонентом службы WCF.
Этот код предполагает, что вы принимаете большинство настроек по умолчанию с вашей конфигурацией. Он должен работать без проблем с именованным каналом или привязкой Net TCP.
p.Demand () определит, находится ли пользователь в группе окон, указанной в переменнойmissionGroup.
private static void DemandManagerPermission()
{
// Verify the use has authority to proceed
string permissionGroup = ConfigurationManager.AppSettings["ManagerPermissionGroup"];
if (string.IsNullOrEmpty(permissionGroup))
throw new FaultException("Group permissions not set for access control.");
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
var p = new PrincipalPermission(ServiceSecurityContext.Current.WindowsIdentity.Name, permissionGroup, true);
p.Demand();
}