/// <summary> /// 设置用户其他关联表信息 /// </summary> /// <param name="db"></param> /// <param name="userId"></param> /// <param name="moduleIds"></param> /// <param name="operateIds"></param> /// <param name="roleIds"></param> /// <returns></returns> private async Task SetOtherInfo(AdminDbContext db, int userId, List <int> organizationIds, List <int> moduleIds, List <int> operateIds, List <int> roleIds) { foreach (int id in organizationIds) { Organization_User ou = new Organization_User() { UserId = userId, OrganizationId = id }; await db.AddAsync(ou); } foreach (int id in moduleIds) { Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Module, id); await db.AddAsync(privilege); } foreach (int id in operateIds) { Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Operate, id); await db.AddAsync(privilege); } foreach (int id in roleIds) { Role_User model = new Role_User(); model.UserId = userId; model.RoleId = id; await db.AddAsync(model); } }
/// <summary> /// 角色信息修改 /// </summary> /// <param name="info"></param> /// <returns></returns> public async Task Save(RoleModifyRequest info) { using (_db) { if (info.Id != 0) { await _db.ExecSqlNoQuery("delete Role_User where RoleId=@RoleId", new SqlParameter("RoleId", info.Id)); await _db.ExecSqlNoQuery("delete Privilege where MasterValue=@MasterValue", new SqlParameter("MasterValue", info.Id)); Role role = await _db.Role.FindByIdAsync(info.Id); _mapper.Map(info.Role, role); //BeforeModify(role); } else { Role role = _mapper.Map <Role>(info.Role); await _db.AddAsync(role); await _db.SaveChangesAsync(); info.Id = role.Id; } foreach (int id in info.ModuleIds) { Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Module, id); await _db.AddAsync(privilege); } foreach (int id in info.OperateIds) { Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Operate, id); await _db.AddAsync(privilege); } foreach (int id in info.UserIds) { Role_User model = new Role_User(); model.UserId = id; model.RoleId = info.Id; await _db.AddAsync(model); } await _db.SaveChangesAsync(); } }
public ActionResult Login(string email, string password) { User curUser = null; if ((curUser = _userRepository.GetUserByEmailAndPass(email, password)) != null) { Role_User role_User = _role_UserRepository.GetByUserId(curUser.ID); Role role = _roleRepository.Get(role_User.ROLE_ID); switch (role.TYPE) { case Models.Enum.RoleType.ADMIN: Session["Role"] = "Admin"; break; case Models.Enum.RoleType.CLIENT: Session["Role"] = "Client"; break; case Models.Enum.RoleType.PARTHNER: Session["Role"] = "Partner"; break; default: Session["Role"] = "Undefined"; break; } Session["Authed"] = true; Session["UserId"] = curUser.ID; return(Redirect($"/User/MyProfile?userId={curUser.ID}")); } else { Session["Authed"] = false; return(Redirect("/User/Register")); } }