Exemplo n.º 1
0
        public ActionResult UserRole(int userId, int roleId)
        {
            var userModel = SystemUserRoleMappingHelper.GetUserRoleBy(userId);

            if (userModel == null)
            {
                return(new JsonResult(ResponseHelper.Error("用户不存在")));
            }
            if (roleId == userModel.RoleId)
            {
                return(new JsonResult(ResponseHelper.Success("ok")));
            }
            var roleModel = SystemRoleHelper.GetModel(p => p.Id == roleId);

            if (roleModel == null)
            {
                return(new JsonResult(ResponseHelper.Error("该角色不存在!")));
            }
            var userRoleMapping = SystemUserRoleMappingHelper.GetModel(p => p.SystemUserId == userId);

            if (userRoleMapping == null)
            {
                userRoleMapping = new SystemUserRoleMapping {
                    CreatedTime = DateTime.Now, RoleId = roleId, SystemUserId = userId
                };
                SystemUserRoleMappingHelper.Insert(userRoleMapping);
                return(new JsonResult(ResponseHelper.Success("ok")));
            }
            if (SystemUserRoleMappingHelper.Update(userRoleMapping, p => p.SystemUserId == userId, SystemUserRoleMappingHelper.Columns.RoleId))
            {
                return(new JsonResult(ResponseHelper.Success("ok")));
            }
            return(new JsonResult(ResponseHelper.Error("修改失败!")));
        }
 public ActionResult Delete(int id)
 {
     if (SystemUserRoleMappingHelper.Exists(p => p.RoleId == id))
     {
         return(Json(ResponseHelper.Error("有用户正在使用角色无法删除!")));
     }
     SystemRoleHelper.Delete(id);
     return(Json(ResponseHelper.Success("ok")));
 }
        public ActionResult SignIn([FromForm] SignInModel model)
        {
            try
            {
                var UserString = HttpContext.Session.GetString("UserInfo");

                if (!string.IsNullOrEmpty(UserString))
                {
                    return(Json(ResponseHelper.Success(JsonConvert.DeserializeObject <SessionUser>(UserString))));
                }
                // TODO: Add login logic here
                var password = AESUtil.Md5(model.Password);
                var user     = SystemUserHelper.GetModel(p => p.Password == password && (p.Email == model.Account || p.Account == model.Account || p.Phone == model.Account));
                if (user == null)
                {
                    return(Json(ResponseHelper.Error("账户或密码错误,请确认后再试!")));
                }
                if (user.Status != SystemUser_Status_Enum.正常)
                {
                    return(Json(ResponseHelper.Error("账户已被冻结!")));
                }
                //获取用户角色
                var role = SystemUserRoleMappingHelper.GetRoleBy(user.Id);
                if (role == null)
                {
                    return(Json(ResponseHelper.Error("该账户还未分配角色请联系管理员!")));
                }
                var roleAuthList = RoleAuthMappingHelper.GetList(p => p.RoleId == role.Id);
                if (roleAuthList.Count < 1)
                {
                    return(Json(ResponseHelper.Error("角色未拥有权限,请联系下管理员处理")));
                }
                var token = Guid.NewGuid().ToString("N");
                //存session
                var UserCache = new SessionUser
                {
                    HeadImg  = user.HeadImage,
                    Token    = token,
                    UId      = user.Id.ToString(),
                    UserName = user.NickName,
                    RoleId   = role.Id,
                    Email    = user.Email,
                    RoleName = role.Name,
                    AuthMenu = roleAuthList.Select(p => p.MenuId).ToList()
                };
                HttpContext.Session.SetString("UserInfo", JsonConvert.SerializeObject(UserCache));
                //返回用户信息
                return(Json(ResponseHelper.Success(UserCache)));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 4
0
        public ActionResult UserRole(int user)
        {
            var userModel = SystemUserRoleMappingHelper.GetUserRoleBy(user);

            if (userModel == null)
            {
                return(new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("用户不存在")));
            }
            var roleModel = SystemRoleHelper.GetList(p => p.Id != 1);

            ViewBag.Role = roleModel;
            return(View(userModel));
        }