示例#1
0
        public virtual bool CanWriteProperty(string propertyName)
        {
            bool result = true;

            if (AuthorizationRules.GetRolesForProperty(
                    propertyName, AccessType.WriteAllowed).Length > 0)
            {
                // some users are explicitly granted write access
                // in which case all other users are denied
                if (!AuthorizationRules.IsWriteAllowed(propertyName))
                {
                    result = false;
                }
            }
            else if (AuthorizationRules.GetRolesForProperty(
                         propertyName, AccessType.WriteDenied).Length > 0)
            {
                // some users are explicitly denied write access
                if (AuthorizationRules.IsWriteDenied(propertyName))
                {
                    result = false;
                }
            }
            return(result);
        }