Example #1
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="sName">Уникальное наименование пользователя приложения</param>
 /// <param name="roles">Массив ролей пользователя</param>
 /// <param name="privilege_set"> Множество привилегий пользователя</param>
 public XUser(string sName, XRole[] roles, XPrivilegeSet privilege_set)
 {
     m_sName            = sName;
     m_bIsAuthenticated = true;
     // инициализируем массив ролей
     SetRoles(roles);
     // инициализируем массив привилегий
     SetPrivileges(privilege_set);
 }
Example #2
0
        public static XPrivilegeSet Create(XPrivilege[] privils)
        {
            XPrivilegeSet set = new XPrivilegeSet();

            foreach (XPrivilege priv in privils)
            {
                set.Add(priv);
            }
            return(set);
        }
Example #3
0
        public XPrivilegeSet Clone()
        {
            XPrivilegeSet new_set = new XPrivilegeSet();

            foreach (XPrivilege priv in m_privileges.Values)
            {
                new_set.Add(priv);
            }
            return(new_set);
        }
Example #4
0
 /// <summary>
 /// Устанавливает множество привилегий пользователя
 /// </summary>
 /// <param name="privilege_set"></param>
 public void SetPrivileges(XPrivilegeSet privilege_set)
 {
     if (privilege_set == null)
     {
         m_privileges = XPrivilegeSet.Empty;
     }
     else
     {
         m_privileges = privilege_set;
     }
 }
Example #5
0
 public bool ContainsAll(XPrivilegeSet right_set)
 {
     foreach (XPrivilege priv in right_set)
     {
         if (!Contains(priv.Name))
         {
             return(false);
         }
     }
     return(true);
 }
Example #6
0
        public XPrivilegeSet Subtract(XPrivilegeSet right_set)
        {
            XPrivilegeSet new_set = new XPrivilegeSet();

            foreach (XPrivilege priv in right_set)
            {
                if (!Contains(priv.Name))
                {
                    new_set.Add(priv);
                }
            }
            return(new_set);
        }
Example #7
0
        public XPrivilegeSet Union(XPrivilegeSet right_set)
        {
            XPrivilegeSet new_set = Clone();

            foreach (XPrivilege priv in right_set)
            {
                if (!new_set.Contains(priv.Name))
                {
                    new_set.Add(priv);
                }
            }
            return(new_set);
        }
Example #8
0
 public bool ContainsAny(XPrivilegeSet right_set)
 {
     if (right_set.Count == 0)
     {
         return(true);
     }
     foreach (XPrivilege priv in right_set)
     {
         if (Contains(priv.Name))
         {
             return(true);
         }
     }
     return(false);
 }