Esempio n. 1
0
        private static bool RetriveSessionFromCookie()
        {
            var        cookies = WebGlobalVariable.Request.Cookies;
            HttpCookie cookie  = cookies[RightConst.USER_INFO_COOKIE_NAME];

            if (cookie == null)
            {
                return(false);
            }

            CookieUserInfo userInfo = CookieUserInfo.FromEncodeString(cookie.Value);

            if (userInfo == null)
            {
                return(false);
            }

            EmptyDbDataSource source = new EmptyDbDataSource();

            using (source)
                using (UserResolver resolver = new UserResolver(source))
                {
                    try
                    {
                        IUserInfo info = resolver.CheckUserLogOnById(userInfo.UserId, userInfo.Password);
                        WebGlobalVariable.SessionGbl.AppRight.Initialize(info);
                        return(true);
                    }
                    catch
                    {
                        return(false);
                    }
                }
        }
Esempio n. 2
0
        public OutputData Update(IInputData input, object instance)
        {
            BasePasswordData passwd = instance.Convert <BasePasswordData>();

            using (EmptyDbDataSource source = new EmptyDbDataSource())
                using (UserResolver resolver = new UserResolver(source))
                {
                    return(ChangePasswd(resolver, passwd));
                }
        }
Esempio n. 3
0
        public OutputData Insert(IInputData input, object instance)
        {
            LogOnData data = instance.Convert <LogOnData>();

            using (UserResolver resolver = new UserResolver(this))
            {
                IUserInfo userInfo = resolver.CheckUserLogOn(data.LogOnName, data.Password, 0);
                if (userInfo == null)
                {
                }

                var           response = WebGlobalVariable.Response;
                CookieOptions options  = new CookieOptions
                {
                    Expires = new DateTimeOffset(DateTime.Now.AddDays(30))
                };
                response.Cookies.Append(COOKIE_NAME, data.LogOnName, options);
                options = new CookieOptions
                {
                    Expires = new DateTimeOffset(JWTUtil.CalcValidTime())
                };
                string token = JWTUtil.CreateEncodingInfo(userInfo);
                response.Cookies.Append(JWTUtil.COOKIE_NAME, token, options);
                //CookieUserInfo cookieInfo = new CookieUserInfo(data, userInfo);
                //cookie = new HttpCookie(RightConst.USER_INFO_COOKIE_NAME, cookieInfo.Encode())
                //{
                //    Expires = GetExpireDate()
                //};
                //response.Cookies.Set(cookie);

                WebSuccessResult result;
                string           retUrl = input.QueryString["RetURL"];
                if (!string.IsNullOrEmpty(retUrl))
                {
                    result = new WebSuccessResult(retUrl);
                }
                else
                {
                    WebAppSetting appSetting = WebAppSetting.WebCurrent;
                    if (string.IsNullOrEmpty(appSetting.MainPath))
                    {
                        result = new WebSuccessResult(appSetting.HomePath);
                    }
                    else
                    {
                        string url     = HttpUtility.UrlEncode(appSetting.HomePath);
                        string mainUrl = UriUtil.AppendQueryString(appSetting.MainPath, "StartUrl=" + url);
                        result = new WebSuccessResult(mainUrl);
                    }
                }

                return(OutputData.CreateToolkitObject(result));
            }
        }
Esempio n. 4
0
        public OutputData Insert(IInputData input, object instance)
        {
            LogOnData data = instance.Convert <LogOnData>();

            using (UserResolver resolver = new UserResolver(this))
            {
                IUserInfo userInfo = resolver.CheckUserLogOn(data.LogOnName, data.Password, 0);
                if (userInfo == null)
                {
                }
                WebGlobalVariable.SessionGbl.AppRight.Initialize(userInfo);

                var        response = WebGlobalVariable.Response;
                HttpCookie cookie   = new HttpCookie(COOKIE_NAME, data.LogOnName)
                {
                    Expires = DateTime.Now.AddDays(30)
                };
                response.Cookies.Set(cookie);
                CookieUserInfo cookieInfo = new CookieUserInfo(data, userInfo);
                cookie = new HttpCookie(RightConst.USER_INFO_COOKIE_NAME, cookieInfo.Encode())
                {
                    Expires = GetExpireDate()
                };
                response.Cookies.Set(cookie);

                WebSuccessResult result;
                var    request = WebGlobalVariable.Request;
                string retUrl  = request.QueryString["RetURL"];
                if (!string.IsNullOrEmpty(retUrl))
                {
                    result = new WebSuccessResult(retUrl);
                }
                else
                {
                    WebAppSetting appSetting = WebAppSetting.WebCurrent;
                    if (string.IsNullOrEmpty(appSetting.MainPath))
                    {
                        result = new WebSuccessResult(appSetting.HomePath);
                    }
                    else
                    {
                        string url     = HttpUtility.UrlEncode(appSetting.HomePath);
                        string mainUrl = UriUtil.AppendQueryString(appSetting.MainPath, "StartUrl=" + url);
                        result = new WebSuccessResult(mainUrl);
                    }
                }

                return(OutputData.CreateToolkitObject(result));
            }
        }
        protected override OutputData ChangePasswd(UserResolver resolver, BasePasswordData passwd)
        {
            PasswordData password = passwd.Convert <PasswordData>();
            bool         success  = resolver.ChangePassword(passwd.UserId, passwd.GetNewPassword("PasswordData"),
                                                            password.OldPassword);

            if (success)
            {
                return(OutputData.CreateToolkitObject(resolver.CreateKeyData()));
            }
            else
            {
                const string   errorMsg = "原密码不匹配";
                FieldErrorInfo field    = new FieldErrorInfo("PasswordData", "OldPassword", errorMsg);
                throw new WebPostException(errorMsg, field);
            }
        }
 protected override OutputData ChangePasswd(UserResolver resolver, BasePasswordData passwd)
 {
     resolver.ChangePassword(passwd.UserId,
                             passwd.GetNewPassword("PasswordData"), null);
     return(OutputData.CreateToolkitObject(resolver.CreateKeyData()));
 }
Esempio n. 7
0
 protected abstract OutputData ChangePasswd(UserResolver resolver, BasePasswordData passwd);