Exemple #1
0
        /// <summary>
        /// 3:验证失效。4:没有权限
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public int CheckUserAuth(string token)
        {
            ISqlMapper mapper = Common.GetMapperFromSession();
            //验证有没有登录
            UserEntireInfo user = GetUserEntireInfoFromCache(token);

            if (user == null)
            {
                return(3);
            }
            LogonHistoryDao logonhistorydao = new LogonHistoryDao(mapper);
            var             logonList       = logonhistorydao.Query(new LogonHistoryQueryForm {
                Token = token
            });

            //登录超时
            if (logonList.Count == 0 || DateTime.Now - logonList[0].ActiveTime > new TimeSpan(0, 30, 0))
            {
                return(3);
            }
            logonhistorydao.Update(new LogonHistoryUpdateForm
            {
                Entity = new LogonHistory {
                    ActiveTime = DateTime.Now
                },
                LogonHistoryQueryForm = new LogonHistoryQueryForm {
                    Token = token
                },
            });
            if (ServiceSession.Current != null)
            {
                return(CheckAuth(user.Role));
            }
            return(-1);
        }
Exemple #2
0
 public LogonResultForm GetUserInfo(string userid)
 {
     var mapper = Common.GetMapperFromSession();
     UserDao userdao = new UserDao(mapper);
     var user = userdao.Query(new UserQueryForm { Name = userid }).FirstOrDefault();
     if (user == null) throw new Exception("用户:" + userid + "在系统中不存在!");
     if (user.Enabled == 0) throw new Exception("该用户已被禁用,请联系管理员!");
     LogonResultForm result = new LogonResultForm();
     UserInfoDao userInfoDao = new UserInfoDao(mapper);
     RoleDao roleDao = new RoleDao(mapper);
     LogonHistoryDao historyDao = new LogonHistoryDao(mapper);
     string token = Guid.NewGuid().ToString().Replace("-", "");
     var userinfo = userInfoDao.Query(new UserInfoQueryForm { ID = user.ID }).FirstOrDefault();
     UserEntireInfo u = new UserEntireInfo { User = user };
     if (userinfo != null) u.UserInfo = userinfo;
     u.Role = roleDao.QueryRoleByUserID(u.User.ID);
     CacheItem item = new CacheItem(token, u);
     LogonHistory history = new LogonHistory
     {
         LogonTime = DateTime.Now,
         Token = token,
         UserID = user.ID,
         ActiveTime = DateTime.Now,
     };
     historyDao.Add(history);
     result.token = token;
     result.UserInfo = userinfo;
     cache.AddItem(item, 30 * 60);
     MenuBLL menubll = new MenuBLL();
     result.Menu = menubll.GetCurrentUserMenu(result.token);
     return result;
 }
Exemple #3
0
        public LoginResultForm Login(string username, string password)
        {
            LoginResultForm result = new LoginResultForm();
            ISqlMapper mapper = MapperHelper.GetMapper();
            UserDao userdao = new UserDao(mapper);
            UserInfoDao userInfoDao = new UserInfoDao(mapper);
            RoleDao roleDao = new RoleDao(mapper);
            User_RoleDao urdao = new User_RoleDao(mapper);
            LogonHistoryDao historyDao = new LogonHistoryDao(mapper);
            MenuDao menudao = new MenuDao(mapper);
            Menu_RoleDao mrdao = new Menu_RoleDao(mapper);
            var user = userdao.Query(new UserQueryForm { Name = username, Password = password }).FirstOrDefault();
            if (user != null)
            {
                if (user.Enabled == 0) throw new Exception("该用户已被禁用,请联系管理员!");
                string token = Guid.NewGuid().ToString().Replace("-", "");
                var userinfo = userInfoDao.Query(new UserInfoQueryForm { ID = user.ID }).FirstOrDefault();
                var ur = urdao.Query(new User_RoleQueryForm { UserID = user.ID });
                List<string> roleidlist = new List<string>();
                ur.ForEach(t =>
                {
                    roleidlist.Add(t.RoleID);
                });
                var roles = roleDao.Query(new RoleQueryForm { IDs = roleidlist });

                var mrs = mrdao.Query(new Menu_RoleQueryForm { RoleIDs = roleidlist });
                var menuids = (from mr in mrs select mr.MenuID).Distinct().ToList();

                result.Menu = menudao.Query(new MenuQueryForm { IDs = menuids, Enabled = 1 });

                UserEntireInfo u = new UserEntireInfo
                {
                    User = user,
                    UserInfo = userinfo,
                    Role = roles,
                };

                CacheItem item = new CacheItem(token, u);
                LogonHistory history = new LogonHistory
                {
                    LogonTime = DateTime.Now,
                    Token = token,
                    UserID = user.ID,
                    ActiveTime = DateTime.Now,
                };
                historyDao.Add(history);
                result.User = u;
                result.token = token;
                cache.AddItem(item, 1800);
                //MonitorCache.GetInstance().PushMessage(new CacheMessage { Message = "login user:"******",token:" + token }, SOAFramework.Library.CacheEnum.FormMonitor);
                return result;
            }
            else
            {
                throw new Exception("用户名或者密码错误!请输入正确的用户名和密码!");
            }
        }
Exemple #4
0
        public LogonResultForm GetUserInfo(string userid)
        {
            var     mapper  = Common.GetMapperFromSession();
            UserDao userdao = new UserDao(mapper);
            var     user    = userdao.Query(new UserQueryForm {
                Name = userid
            }).FirstOrDefault();

            if (user == null)
            {
                throw new Exception("用户:" + userid + "在系统中不存在!");
            }
            if (user.Enabled == 0)
            {
                throw new Exception("该用户已被禁用,请联系管理员!");
            }
            LogonResultForm result      = new LogonResultForm();
            UserInfoDao     userInfoDao = new UserInfoDao(mapper);
            RoleDao         roleDao     = new RoleDao(mapper);
            LogonHistoryDao historyDao  = new LogonHistoryDao(mapper);
            string          token       = Guid.NewGuid().ToString().Replace("-", "");
            var             userinfo    = userInfoDao.Query(new UserInfoQueryForm {
                ID = user.ID
            }).FirstOrDefault();
            UserEntireInfo u = new UserEntireInfo {
                User = user
            };

            if (userinfo != null)
            {
                u.UserInfo = userinfo;
            }
            u.Role = roleDao.QueryRoleByUserID(u.User.ID);
            LogonHistory history = new LogonHistory
            {
                LogonTime  = DateTime.Now,
                Token      = token,
                UserID     = user.ID,
                ActiveTime = DateTime.Now,
            };

            historyDao.Add(history);
            result.token    = token;
            result.UserInfo = userinfo;
            cache.AddItem(token, u, 30 * 60);
            MenuBLL menubll = new MenuBLL();

            result.Menu = menubll.GetCurrentUserMenu(result.token);
            return(result);
        }
Exemple #5
0
        public UserEntireInfo GetCurrentUser(string token = null)
        {
            ISqlMapper mapper = Common.GetMapperFromSession();

            if (string.IsNullOrEmpty(token))
            {
                token = ServiceSession.Current.Context.Parameters["token"].ToString();
            }
            var u = GetUserEntireInfoFromCache(token);

            if (u == null)
            {
                MonitorCache.GetInstance().PushMessage(new CacheMessage {
                    Message = "user is null"
                }, SOAFramework.Library.CacheEnum.FormMonitor);
                UserDao         userdao      = new UserDao(mapper);
                RoleDao         roledao      = new RoleDao(mapper);
                UserInfoDao     uidao        = new UserInfoDao(mapper);
                LogonHistoryDao lhdao        = new LogonHistoryDao(mapper);
                var             logonhistory = lhdao.Query(new LogonHistoryQueryForm {
                    Token = token
                }).FirstOrDefault();
                string userid = logonhistory.UserID;
                var    user   = userdao.Query(new UserQueryForm {
                    ID = userid
                }).FirstOrDefault();
                var userinfo = uidao.Query(new UserInfoQueryForm {
                    ID = userid
                }).FirstOrDefault();
                var roles = roledao.QueryRoleByUserID(userid);
                u = new UserEntireInfo
                {
                    User     = user,
                    Role     = roles,
                    UserInfo = userinfo,
                };
            }
            return(u);
        }
Exemple #6
0
 public UserEntireInfo GetCurrentUser(string token = null)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     if (string.IsNullOrEmpty(token)) token = ServiceSession.Current.Context.Parameters["token"].ToString();
     var u = GetUserEntireInfoFromCache(token);
     if (u == null)
     {
         MonitorCache.GetInstance().PushMessage(new CacheMessage { Message = "user is null" }, SOAFramework.Library.CacheEnum.FormMonitor);
         UserDao userdao = new UserDao(mapper);
         RoleDao roledao = new RoleDao(mapper);
         UserInfoDao uidao = new UserInfoDao(mapper);
         LogonHistoryDao lhdao = new LogonHistoryDao(mapper);
         var logonhistory = lhdao.Query(new LogonHistoryQueryForm { Token = token }).FirstOrDefault();
         if (logonhistory == null) throw new Exception("获取当前用户信息时发生错误,用户不存在");
         string userid = logonhistory.UserID;
         var user = userdao.Query(new UserQueryForm { ID = userid }).FirstOrDefault();
         var userinfo = uidao.Query(new UserInfoQueryForm { ID = userid }).FirstOrDefault();
         var roles = roledao.QueryRoleByUserID(userid);
         u = new UserEntireInfo
         {
             User = user,
             Role = roles,
             UserInfo = userinfo,
         };
     }
     return u;
 }
Exemple #7
0
        public int CheckUserAuth(string token)
        {
            ISqlMapper mapper = MapperHelper.GetMapper();
            //验证有没有登录
            UserEntireInfo user = GetUserEntireInfoFromCache(token);

            //MonitorCache.GetInstance().PushMessage(new CacheMessage { Message = "check token:" + token }, SOAFramework.Library.CacheEnum.FormMonitor);
            if (user == null) return 3;
            LogonHistoryDao logonhistorydao = new LogonHistoryDao(mapper);
            var logonList = logonhistorydao.Query(new LogonHistoryQueryForm { Token = token });
            //登录超时
            if (logonList.Count == 0 || DateTime.Now - logonList[0].ActiveTime > new TimeSpan(0, 30, 0)) return 3;
            logonhistorydao.Update(new LogonHistoryUpdateForm
            {
                Entity = new LogonHistory { ActiveTime = DateTime.Now },
                LogonHistoryQueryForm = new LogonHistoryQueryForm { ID = logonList[0].ID },
            });
            if (ServiceSession.Current != null) return CheckAuth(user.Role);
            return -1;
        }
Exemple #8
0
 /// <summary>
 /// 3:验证失效。4:没有权限
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public int CheckUserAuth(string token)
 {
     ISqlMapper mapper = Common.GetMapperFromSession();
     //验证有没有登录
     UserEntireInfo user = GetUserEntireInfoFromCache(token);
     if (user == null) return 3;
     LogonHistoryDao logonhistorydao = new LogonHistoryDao(mapper);
     var logonList = logonhistorydao.Query(new LogonHistoryQueryForm { Token = token });
     //登录超时
     if (logonList.Count == 0 || DateTime.Now - logonList[0].ActiveTime > new TimeSpan(0, 30, 0)) return 3;
     logonhistorydao.Update(new LogonHistoryUpdateForm
     {
         Entity = new LogonHistory { ActiveTime = DateTime.Now },
         LogonHistoryQueryForm = new LogonHistoryQueryForm { Token = token },
     });
     if (ServiceSession.Current != null) return CheckAuth(user.Role);
     return -1;
 }
 public int QueryCount(FullLogonHistoryQueryForm form)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     LogonHistoryDao dao = new LogonHistoryDao(mapper);
     return dao.QueryFullLogonHistoryCount(form);
 }
 public List<FullLogonHistory> Query(FullLogonHistoryQueryForm form)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     LogonHistoryDao dao = new LogonHistoryDao(mapper);
     return dao.QueryFullLogonHistory(form);
 }