private System.Security.IPermission CreatePermission() { System.Security.IPermission ret = new System.Security.Permissions.PrincipalPermission(SC.Security.SecurityManager.SYSTEM_ACCOUNT, SC.Security.SecurityManager.SYSTEM_ROLE); foreach (AccessControlEntry entry in entries.Values) { ret = ret.Union(entry.CreatePermission()); } return(ret); }
/// <summary> /// Zum Test der Authorisierung ist soll der Zugriff auf folgende Methode nur für /// "Testgruppe" möglich sein. /// </summary> /// <returns></returns> //[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role="Testgruppe")] public List <Filedescriptor> GetAllFileDescriptors_AdminsOnly() { var lst = new List <Filedescriptor>(); var principal = new System.Security.Principal.WindowsPrincipal(ServiceSecurityContext.Current.WindowsIdentity); Debug.WriteLine("Operation wird ausgeführt als: " + System.Security.Principal.WindowsIdentity.GetCurrent().Name); Debug.WriteLine("Operation wurde aufgerufen von: " + ServiceSecurityContext.Current.WindowsIdentity.Name); //Debug.Assert(principal.IsInRole(Gruppe), "Benutzer sollte zu Gruppe der Administratoren gehören, um diese Operation aufzurufen- er tut es aber nicht!"); var perm = new System.Security.Permissions.PrincipalPermission(principal.Identity.Name, Gruppe); //perm.Demand(); foreach (var file in Directory.GetFiles(_root)) { lst.Add(GetFileDescriptor(Path.GetFileName(file))); } return(lst); }
private System.Security.IPermission CreatePermission() { System.Security.IPermission ret = new System.Security.Permissions.PrincipalPermission(SC.Security.SecurityManager.SYSTEM_ACCOUNT, SC.Security.SecurityManager.SYSTEM_ROLE); foreach (AccessControlEntry entry in entries.Values) { ret = ret.Union(entry.CreatePermission()); } return ret; }