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