Exemplo n.º 1
0
        private string LoginAfter(UserInfoDto model)
        {
            if (model == null)
            {
                return(null);
            }
            // ContextHelper.WriteSession(Constant.UserSessionKey, model);
            _loginRecrodService.UserInsert(model.Id, model.UserName);
            ContextHelper.WriteSession(Constant.UserImgCodeKey, null);


            var token = Tools.GetToken(model);
            var user  = new AuthUserDto {
                UserId = model.Id, UserName = model.UserName, UserType = Common.UserTypeEnum.UserInfo, Token = token
            };

            AuthUserCache.Set(token, user);

            ContextHelper.WriteCookie(Constant.UserCookieKey, token);
            return(token);
        }
        private string LoginAfter(AdministratorDto model)
        {
            if (model == null)
            {
                return(null);
            }

            _loginRecrodService.AdminInsert(model.Id, model.AdminName);
            _administratorDal.Update(model.Id, DateTime.Now, ContextHelper.GetIp());
            ContextHelper.WriteSession(Constant.AdminImgCodeKey, null);

            var token = Tools.GetToken(model);
            var user  = new AuthUserDto {
                UserId = model.Id, UserName = model.AdminName, UserType = Common.UserTypeEnum.Administrator, Token = token
            };

            AuthUserCache.Set(token, user);

            ContextHelper.WriteCookie(Constant.AdminCookieKey, token);
            return(token);
        }
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            AuthUserDto user = null;
            AuthenticationHeaderValue authorization = request.Headers.Authorization;

            if (authorization != null)
            {
                if (authorization.Scheme == "Basic" && !string.IsNullOrEmpty(authorization.Parameter))
                {
                    string auth = authorization.Parameter.Trim();
                    user = AuthUserCache.Get(auth) as AuthUserDto;
                }
            }

            GenericPrincipal genericPrincipal = new GenericPrincipal(new AuthUserIdentity(user), null);

            Thread.CurrentPrincipal = genericPrincipal;
            if (HttpContext.Current != null)
            {
                HttpContext.Current.User = genericPrincipal;
            }
            return(base.SendAsync(request, cancellationToken));
        }
Exemplo n.º 4
0
 public ResponseResult <bool> Logout()
 {
     AuthUserCache.Remove(_user.Token);
     return(true.Success());
 }