Beispiel #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)
     });
 }
Beispiel #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));
            }
        }
Beispiel #3
0
        protected override void CreateChildControls()
        {
            base.CreateChildControls();
            byte?appID = Request.GetSsoAppID();

            if (appID.HasValue)
            {
                Cfb.CandidatePortal.Security.Sso.Application app = CPSecurity.Provider.GetApplication(appID.Value);
                if (app != null)
                {
                    _appNameLabel.Text = app.Name;
                    _signoutLink.HRef  = string.Format("{0}?{1}", _signoutLink.HRef, QueryStringManager.MakeQueryString(returnUrl: CPSecurity.GetSsoLoginUrl(appID.Value)).ToQueryString());
                }
            }
            else
            {
                _appNameLabel.Text = CPProviders.SettingsProvider.ApplicationName;
            }
        }