示例#1
0
        public void Login(string email, string password)
        {
            int hash = password.GetHashCode();

            email = email.ToLower();
            string result = string.Empty;
            User   user   = _db.Users.FirstOrDefault(item => item.Email.ToLower().Equals(email));

            if (user != null && user.PasswordHash.Equals(hash))
            {
                if (user.IsEnabled == true)
                {
                    SSO sso = _db.SSOes.FirstOrDefault(item => item.UserId.Equals(user.UserId)) ?? new SSO();
                    sso.SSOValue       = SSOUtility.GenerateSSO();
                    sso.ExpirationDate = DateTime.Now.AddMinutes(Settings.SessionExpirationTimeout);
                    sso.User           = user;
                    _db.SSOes.Add(sso);
                    _db.SaveChanges();
                    result = sso.SSOValue.ToString();
                }
                else
                {
                    result = ResourceStrings.UserDeactivatedMessage;
                }
            }
            else
            {
                result = ResourceStrings.UserNotExistMessage;
            }
            WriteResponce(result);
        }
示例#2
0
        public IActionResult PostSignIn()
        {
            string samlResponse = ExtractSamlResponse();

            XElement             saml        = XElement.Parse(samlResponse);
            IEnumerable <string> adminGroups = SSOUtility.GetAdminGroups();
            bool isAdmin = SSOUtility.IsAdminUser(saml, adminGroups);

            // TODO: Give User Cookie or Token
            return(isAdmin ? Redirect("./") : Redirect("./"));
        }
示例#3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string UserName = Request.QueryString["UserName"];
            string AuID     = Request.QueryString["AuID"];

            target = Request.QueryString["target"];

            if (!String.IsNullOrEmpty(UserName))
            {
                Login(UserName, AuID);
                SSOUtility.Login(this);
            }
        }