Ejemplo n.º 1
0
        private bool userRegion(string username, string password)
        {
            Hidistro.Membership.Context.HiContext current = Hidistro.Membership.Context.HiContext.Current;
            Hidistro.Membership.Context.Member    member  = Hidistro.Membership.Context.Users.GetUser(0, username, false, true) as Hidistro.Membership.Context.Member;
            bool result;

            if (member == null || member.IsAnonymous)
            {
                this.ShowMessage("用户名或密码错误", false);
                result = false;
            }
            else
            {
                member.Password = password;
                Hidistro.Membership.Core.Enums.LoginUserStatus loginUserStatus = MemberProcessor.ValidLogin(member);
                if (loginUserStatus == Hidistro.Membership.Core.Enums.LoginUserStatus.Success)
                {
                    System.Web.HttpCookie authCookie = System.Web.Security.FormsAuthentication.GetAuthCookie(member.Username, false);
                    Hidistro.Membership.Core.IUserCookie userCookie = member.GetUserCookie();
                    userCookie.WriteCookie(authCookie, 30, false);
                    current.User = member;
                    result       = true;
                }
                else
                {
                    if (loginUserStatus == Hidistro.Membership.Core.Enums.LoginUserStatus.AccountPending)
                    {
                        this.ShowMessage("用户账号还没有通过审核", false);
                        result = false;
                    }
                    else
                    {
                        if (loginUserStatus == Hidistro.Membership.Core.Enums.LoginUserStatus.InvalidCredentials)
                        {
                            this.ShowMessage("用户名或密码错误", false);
                            result = false;
                        }
                        else
                        {
                            this.ShowMessage("未知错误", false);
                            result = false;
                        }
                    }
                }
            }
            return(result);
        }