internal static void AddUserPolicy(string login, string username, string[] permissions, SPWebApplication webApp, SPPolicyCollection policies) { login = Utilities.TryGetNT4StyleAccountName(login, webApp); List<SPPolicyRole> roles = new List<SPPolicyRole>(); foreach (string roleName in permissions) { SPPolicyRole role = webApp.PolicyRoles[roleName.Trim()]; if (role == null) throw new SPException(string.Format("The policy permission '{0}' was not found.", roleName.Trim())); roles.Add(role); } SPPolicy policy = policies.Add(login, username); foreach (SPPolicyRole role in roles) policy.PolicyRoleBindings.Add(role); webApp.Update(); }
internal static void AddUserPolicy(string login, string username, string[] permissions, SPWebApplication webApp, SPPolicyCollection policies) { login = Utilities.TryGetNT4StyleAccountName(login, webApp); List <SPPolicyRole> roles = new List <SPPolicyRole>(); foreach (string roleName in permissions) { SPPolicyRole role = webApp.PolicyRoles[roleName.Trim()]; if (role == null) { throw new SPException(string.Format("The policy permission '{0}' was not found.", roleName.Trim())); } roles.Add(role); } SPPolicy policy = policies.Add(login, username); foreach (SPPolicyRole role in roles) { policy.PolicyRoleBindings.Add(role); } webApp.Update(); }
internal static void AddUserPolicy(string login, string username, string[] permissions, string zone, SPWebApplication webApp) { SPPolicyCollection policies = GetZonePolicyCollection(zone, webApp); AddUserPolicy(login, username, permissions, webApp, policies); }