public bool CheckLogin(string loginName, string loginPassword) { var user = dao.GetList(x => x.UserName == loginName && x.EnabledMark == (int)EnabledMarkEnum.Valid).SingleOrDefault(x => x.UserName == loginName); if (user == null) { return(false); } else { string dbPwdHash = user.PasswordHash; string salt = user.PasswordSalt; string userPwdHash = Md5Utils.EncryptTo32(salt + loginPassword); return(dbPwdHash == userPwdHash); } }
public List <SysAction> GetPermission(int userId) { List <SysAction> sysActions = new List <SysAction>(); //获取用户 var user = SysUserDao.GetList(x => x.Id == userId && x.EnabledMark == (int)EnabledMarkEnum.Valid).FirstOrDefault(); if (user == null) { return(sysActions); } //根据角色查找用户所拥有的权限 var userRoles = user.SysRoles.Where(x => x.EnabledMark == (int)EnabledMarkEnum.Valid).Select(x => x.SysActions).ToList(); foreach (var item in userRoles) { sysActions.AddRange(item); } //查找用户直接关联的权限 var userActions = user.SysUserActions; if (userActions.Count != 0) { //允许的权限 var userActionsByTrue = userActions.Where(x => x.HasPermisssin == true).Select(x => x.SysAction).ToList(); //禁止的权限 var userActionsByFalse = userActions.Where(x => x.HasPermisssin == false).Select(x => x.SysAction).ToList(); if (userActionsByTrue.Count() != 0) { sysActions.AddRange(userActionsByTrue); } if (userActionsByFalse.Count() != 0) { foreach (var item in userActionsByFalse) { sysActions.Remove(item); } } } //去重 sysActions = sysActions.GroupBy(x => x.Id).Select(x => x.First()).ToList(); return(sysActions); }