//string connectionStr = Configuration.GetSection("AppSetting")["MapKey"];

        public HomeController(UserSevice userService, SysUserSevice sysUserService, IOrderSevice orderSevice, IConnectionMultiplexer redis, IRedisClient redisClient, IMemoryCache memoryCache)
        {
            _userService    = userService;
            _sysUserService = sysUserService;
            _orderSevice    = orderSevice;
            _redis          = redis;
            _redisClient    = redisClient;
            _db             = _redis.GetDatabase();
            _server         = redis.GetServer(redis.GetEndPoints()[0]);
            _memoryCache    = memoryCache;
        }
Beispiel #2
0
        public static SysUser GetLoginUser()
        {
            var context = HttpContext.Current;

            if (context.Session.Get <SysUser>(LoginUserSession) == null)
            {
                var state = context.AuthenticateAsync().Result;
                if (state.Succeeded)
                {
                    ClaimsIdentity ident         = (ClaimsIdentity)state.Principal.Identity;
                    SysUserSevice  sysUserSevice = HttpContext.Current.RequestServices.GetRequiredService <SysUserSevice>();
                    SysUser        user          = sysUserSevice.GetSysUserById(ident.Claims.FirstOrDefault(r => r.Type == ClaimTypes.NameIdentifier).Value);
                    if (user == null)
                    {
                        throw new Exception("无效的登录用户");
                    }
                    else
                    {
                        //var allUser = userSevice.GetUserList(user.ProjectId);
                        //if (allUser.Count > 0)
                        //{
                        //    user.loginname = allUser.Select(r => r.LoginName).Distinct().ToArray();
                        //    user.id = allUser.Select(r => r.Id).Distinct().ToArray();
                        //}
                        //else
                        //{
                        //    user.loginname = new string[] { };
                        //    user.id = new string[] { };
                        //}

                        context.Session.Set(LoginUserSession, user);
                        return(user);
                    }
                }
                else
                {
                    throw new Exception("请先登录");
                }
            }
            else
            {
                return(context.Session.Get <SysUser>(LoginUserSession));
            }
        }