Exemplo n.º 1
0
 /// <summary>
 /// Creates a new <see cref="CPGroup"/> instance using C-Access Security data.
 /// </summary>
 /// <param name="group">The group to use.</param>
 /// <returns>A new group instance using the specified group data if valid; otherwise, null.</returns>
 public static CPGroup CreateGroup(SecurityGroup group)
 {
     if (group == null)
     {
         return(null);
     }
     return(new CPGroup(group.GroupId, group.GroupName)
     {
         UserRights = CPSecurity.Sanitize((CPUserRights)group.UserRights)
     });
 }
Exemplo n.º 2
0
        /// <summary>
        /// Gets a <see cref="CPUserRights"/> value that represents the access rights granted to the specified user.
        /// </summary>
        /// <param name="username">The name of the user to get access rights for.</param>
        /// <returns>A <see cref="CPUserRights"/> value indicating the total access rights granted to the specified user.</returns>
        public CPUserRights GetUserRights(string username)
        {
            using (CPSecurityEntities context = new CPSecurityEntities())
            {
                CPUserRights rights      = CPUserRights.None;
                var          groupRights = from m in context.SecurityGroupMemberships
                                           where m.UserName == username
                                           select(CPUserRights) m.SecurityGroup.UserRights;

                foreach (var right in groupRights)
                {
                    rights |= right;
                }
                return(CPSecurity.Sanitize(rights));
            }
        }