コード例 #1
0
ファイル: Principal.cs プロジェクト: chamith/gatekeeper
        /// <summary>
        /// Initializes a new instance of the Principal class.
        /// </summary>
        /// <param name="userSecurityContext">The user security context.</param>
        public Principal(UserSecurityContext userSecurityContext)
        {
            if (userSecurityContext == null)
            {
                throw new ArgumentNullException("userSecurityContext");
            }

            this.identity = userSecurityContext.User;
            this.userRightAssignments = (UserRightAssignment[])userSecurityContext.RightAssignments.ToArray().Clone();
        }
コード例 #2
0
        public void Login(string username, string password, string redirectUrl, int loginAttempts)
        {
            if(new AuthenticationSvc().IsValidUser(username, password))
            {
                ApplicationSecurityContext applicationSecurityContext = this.HttpContext.Application["securityContext"] as ApplicationSecurityContext;
                log.Debug(username);
                UserSecurityContext userSecurityContext = new UserSecurityContext(username, applicationSecurityContext);
                this.Context.Session["userSecurityContext"] = userSecurityContext;
                this.Context.Session["userSecurityPrincipal"] = new Principal(userSecurityContext);

                if(string.IsNullOrEmpty(redirectUrl))
                    redirectUrl = "/";

                this.RedirectToUrl(redirectUrl);
            }

            PropertyBag["loginAttempts"] = loginAttempts + 1;
        }