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);
        }