Models.SessionWapper IAccountService.Login(Account para) { //检查用户登录名 var account = GetAccountByLoginName(para.Name); if (account == null || (account != null && account.PassWord != para.PassWord)) { throw new ExceptionBase("用户名或密码错误"); } account.PassWord = string.Empty; string sessionKey = string.Empty; SessionWapper session = null; if (CheckSessionIsExpired(para.Name, out sessionKey)) { session = new SessionWapper(); session.SessionKey = sessionKey; session.Account = account; } else { session = CreateSession(account); } CreateLog(para.Name, session); return(session); }
private void CreateLog(string loginName, SessionWapper sessionWapper) { AccountLog log = new AccountLog(); log.LoginName = loginName; log.SessionKey = sessionWapper.SessionKey; log.CreateTime = sessionWapper.CreateTime; log.ActionName = "Login"; loginLogDao.Create(log); }
private SessionWapper CreateSession(Account account) { SessionWapper session = new SessionWapper(); MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider(); string str = account.Name + DateTime.Now.ToString() + Guid.NewGuid().ToString(); session.Account = account; session.SessionKey = BitConverter.ToString(provider.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str))); session.CreateTime = DateTime.Now; return(session); }