예제 #1
0
        public IActionResult Index()
        {
            //TempData["returnUrl"] = returnUrl;
            //_userServices.Login(UserDtoCache.UserId, GetIp());
            //_logServices.Insert(new Sys_log
            //{
            //    LogId = PubId.SnowflakeId,
            //    Browser = GetBrowser(),
            //    CreateBy = UserDtoCache.UserId,
            //    Description = $"{UserDtoCache.UserNickname}登录成功",
            //    LogIp = GetIp(),
            //    Url = GetUrl(),
            //    LogType = LogType.login.EnumToString(),
            //});
            ViewBag.keywords    = GetDescriptor("keywords");
            ViewBag.description = GetDescriptor("description");
            ViewBag.company     = GetDescriptor("company");
            ViewBag.customer    = GetDescriptor("customer");
            ViewBag.nickname    = UserDtoCache.UserNickname;
            ViewBag.headimg     = UserDtoCache.HeadImg;

            //菜单
            var menus = _roleServices.GetMenu(UserDtoCache.RoleId.Value);

            GetMemoryCache.Set("menu_" + UserDtoCache.UserId, menus);
            ViewData["menu"] = menus;
            return(View());
        }
예제 #2
0
 protected virtual void ClearAllCache()
 {
     foreach (var key in GetCacheKeys())
     {
         GetMemoryCache.Remove(key);
     }
 }
예제 #3
0
        public IActionResult Index(string type = "wms", long storeId = 0)
        {
            //TempData["returnUrl"] = returnUrl;
            _userServices.Login(UserDtoCache.UserId, GetIp());
            _mediator.Publish(new Sys_log
            {
                LogId       = PubId.SnowflakeId,
                Browser     = GetBrowser(),
                CreateBy    = UserDtoCache.UserId,
                Description = $"{UserDtoCache.UserNickname}登录成功",
                LogIp       = GetIp(),
                Url         = GetUrl(),
                LogType     = LogType.login.EnumToString(),
            });
            //_logServices.Insert(new Sys_log
            //{
            //    LogId = PubId.SnowflakeId,
            //    Browser = GetBrowser(),
            //    CreateBy = UserDtoCache.UserId,
            //    Description = $"{UserDtoCache.UserNickname}登录成功",
            //    LogIp = GetIp(),
            //    Url = GetUrl(),
            //    LogType = LogType.login.EnumToString(),
            //});
            ViewBag.title    = GetDescriptor("title");
            ViewBag.company  = GetDescriptor("company");
            ViewBag.customer = GetDescriptor("customer");
            ViewBag.nickname = UserDtoCache.UserNickname;
            ViewBag.headimg  = UserDtoCache.HeadImg;


            var stores = _warehouseServices.Queryable().ToList().ToArray();

            ViewData["stores"] = stores;
            if (storeId == 0 && stores.Length > 0)
            {
                storeId = stores.First().WarehouseId;
            }
            ViewData["currentStoreId"] = storeId;

            //菜单
            var menus = _roleServices.GetMenu(storeId, UserDtoCache.RoleId.Value, type + "_menu");

            GetMemoryCache.Set(type + storeId + "menu", menus);
            ViewData["type"] = type;
            ViewData["menu"] = menus;

            return(View());
        }
예제 #4
0
 protected virtual void ClearCache(string key)
 {
     //var _cache = CreateService<IMemoryCache>();
     //_cache.Remove(key);
     GetMemoryCache.Remove(key);
 }
예제 #5
0
        public async Task <IActionResult> CheckLoginAsync([FromBody] SysUserDto sys)
        {
            ClearCache(MenuKey);
            ClearCache(UserKey);
            var item = _userServices.CheckLogin(sys);

            if (item.Item1)
            {
                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

                var claims = new List <Claim>
                {
                    new Claim(ClaimTypes.Name, item.Item3.UserName),
                    new Claim(ClaimTypes.Sid, item.Item3.UserId.ToString()),
                    new Claim(ClaimTypes.Surname, item.Item3.UserNickname),
                    new Claim(ClaimTypes.Role, item.Item3.RoleId?.ToString()),
                    new Claim(ClaimTypes.Uri, string.IsNullOrWhiteSpace(item.Item3.HeadImg)?Path.Combine("upload", "head", "4523c812eb2047c39ad91f8c5de3fb31.jpg"):item.Item3.HeadImg)
                };
                var claimsIdentitys = new ClaimsIdentity(
                    claims,
                    CookieAuthenticationDefaults.AuthenticationScheme);
                var claimsPrincipal = new ClaimsPrincipal(claimsIdentitys);
                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties
                {
                    IssuedUtc    = DateTime.Now,
                    IsPersistent = true,
                    ExpiresUtc   = DateTime.Now.AddDays(1),
                });

                sys.UserId       = item.Item3.UserId;
                sys.UserName     = item.Item3.UserName;
                sys.UserNickname = item.Item3.UserNickname;
                sys.RoleId       = item.Item3.RoleId;
                sys.HeadImg      = item.Item3.HeadImg;
                GetMemoryCache.Set("user_" + item.Item3.UserId, sys);
                _userServices.Login(item.Item3.UserId, GetIp());
                await _mediator.Publish(new Sys_log
                {
                    LogId       = PubId.SnowflakeId,
                    Browser     = GetBrowser(),
                    CreateBy    = sys.UserId,
                    Description = $"{sys.UserNickname}登录成功",
                    LogIp       = GetIp(),
                    Url         = GetUrl(),
                    LogType     = LogType.login.EnumToString(),
                });
            }
            else
            {
                await _mediator.Publish(new Sys_log
                {
                    LogId       = PubId.SnowflakeId,
                    Browser     = GetBrowser(),
                    Description = $"{_xss.Filter(sys.UserNickname)}登录失败",
                    LogIp       = GetIp(),
                    Url         = GetUrl(),
                    LogType     = LogType.login.EnumToString()
                });
            }
            item.Item3 = null;
            //return Json(item);
            return(Content(item.ToJsonL()));
        }