示例#1
0
        public async Task <ActionResult> LoginAction(string username, string password)
        {
            return(await RunActionAsync(async() =>
            {
                if (!ValidateHelper.IsAllPlumpString(username, password))
                {
                    return GetJsonRes("请输入账号密码");
                }

                using (var db = new SSODB())
                {
                    var md5 = password.ToMD5().ToUpper();
                    var model = await db.T_UserInfo.Where(x => x.UserName == username && x.PassWord == md5).FirstOrDefaultAsync();
                    if (model == null)
                    {
                        return GetJsonRes("账户密码错误");
                    }
                    if (model.IsActive <= 0 || model.IsRemove > 0)
                    {
                        return GetJsonRes("用户被删除,或者被禁用");
                    }
                    var loginuser = model.LoginUserInfo();
                    loginStatus.SetUserLogin(this.X.context, loginuser);
                    return GetJsonRes(string.Empty);
                }
            }));
        }
示例#2
0
        public override LoginUserInfo FindUser(HttpContext context)
        {
            try
            {
                var uid   = ls.GetCookieUID(context);
                var token = ls.GetCookieToken(context);
                if (!ValidateHelper.IsAllPlumpString(uid, token))
                {
                    return(null);
                }

                var user = IocContext.Instance.Scope(s =>
                {
                    var key   = CacheKeyManager.AuthSSOUserInfoKey(uid);
                    var cache = s.Resolve_ <ICacheProvider>();
                    return(cache.GetOrSet(key, () =>
                    {
                        using (var db = new SSODB())
                        {
                            var model = db.T_UserInfo.Where(x => x.UID == uid).FirstOrDefault();
                            if (model == null)
                            {
                                return null;
                            }
                            //load permission
                            //这里只拿了角色关联的权限,部门关联的权限没有拿
                            var roleslist = db.Auth_UserRole.Where(x => x.UserID == uid)
                                            .Select(x => x.RoleID).ToList()
                                            .Select(x => $"role:{x}").ToList();

                            model.Permissions = db.Auth_PermissionMap.Where(x => roleslist.Contains(x.MapKey))
                                                .Select(x => x.PermissionID).ToList()
                                                .Distinct().ToList();

                            return model;
                        }
                    }, TimeSpan.FromSeconds(60)));
                });

                if (user == null || user.CreateToken() != token)
                {
                    return(null);
                }

                return(user.LoginUserInfo());
            }
            catch (Exception e)
            {
                e.AddErrorLog();
                return(null);
            }
        }
示例#3
0
        public ActionResult excel()
        {
            return(RunAction(() =>
            {
                using (var db = new SSODB())
                {
                    var list = db.T_UserInfo.Take(1000).ToList();
                    var data = Lib.io.ExcelHelper.ObjectToExcel(list, "用户列表");

                    return File(data, Lib.io.ExcelHelper.ContentType, $"用户列表导出-{DateTime.Now.ToDateTimeString()}.xls");
                }
            }));
        }