/// <summary> /// 保存用户到数据库中 /// </summary> /// <param name="newUser"></param> /// <param name="roles"></param> internal static void SaveUser(User newUser, IEnumerable <string> roles) { if (string.IsNullOrEmpty(newUser.Id)) { var uid = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == newUser.UserName)?.Id; var user = DbContextManager.Create <User>(); if (user != null) { if (!string.IsNullOrEmpty(uid)) { user.Delete(new string[] { uid }); } if (user.Save(newUser)) { // 根据配置文件设置默认角色 var role = DbContextManager.Create <Role>(); if (role != null) { var roleIds = role.Retrieves().Where(r => roles.Any(rl => rl.Equals(r.RoleName, StringComparison.OrdinalIgnoreCase))).Select(r => r.Id); if (roleIds.Any()) { #nullable disable role.SaveByUserId(newUser.Id, roleIds); #nullable restore CacheCleanUtility.ClearCache(userIds: new string[0], roleIds: new string[0], cacheKey: $"{UserHelper.RetrieveUsersByNameDataKey}-{newUser.UserName}"); } } } }
public void RetrievesByUserId_Ok() { var userId = UserHelper.Retrieves().FirstOrDefault(r => r.UserName == "Admin").Id; var groups = GroupHelper.RetrievesByUserId(userId); Assert.NotNull(groups); }
/// <summary> /// 保存用户角色關係 /// </summary> /// <param name="userId"></param> /// <param name="roleIds"></param> /// <returns></returns> public static bool SaveByUserId(string userId, IEnumerable <string> roleIds) { // 演示模式時禁止修改 Admin 对 Administrators 角色的移除操作 var ret = false; if (DictHelper.RetrieveSystemModel()) { var users = new string[] { "Admin", "User" }; var userIds = UserHelper.Retrieves().Where(u => users.Any(usr => usr.Equals(u.UserName, StringComparison.OrdinalIgnoreCase))).Select(u => u.Id); if (userIds.Any(u => (u ?? string.Empty).Equals(userId, StringComparison.OrdinalIgnoreCase))) { ret = true; } } if (ret) { return(ret); } ret = DbContextManager.Create <Role>()?.SaveByUserId(userId, roleIds) ?? false; if (ret) { CacheCleanUtility.ClearCache(userIds: new List <string>() { userId }, roleIds: roleIds); } return(ret); }
public void SaveByRoleID_Ok() { var uId = UserHelper.Retrieves().FirstOrDefault(u => u.UserName.Equals("Admin", System.StringComparison.OrdinalIgnoreCase))?.Id; Assert.True(RoleHelper.SaveByUserId(uId, new string[0])); Assert.Contains(RoleHelper.RetrievesByUserName("Admin"), r => r.Equals("Administrators")); }
public void UserUpdate_Ok() { var user = UserHelper.Retrieves().FirstOrDefault(m => m.UserName == "User"); user.DisplayName = "UnitTest"; Assert.True(UserHelper.Update(user.Id, "123789", "UnitTest")); }
public void UserSave_Ok() { var user = UserHelper.Retrieves().FirstOrDefault(m => m.UserName == "User"); user.DisplayName = "UnitTest"; // 演示模式下不允許更改 Admin User 账户信息 Assert.True(UserHelper.Save(user)); }
public void UserUpdate_Ok() { SetSystemMode(); var user = UserHelper.Retrieves().FirstOrDefault(m => m.UserName == "User"); user.DisplayName = "UnitTest"; Assert.True(UserHelper.Update(user.Id, "123789", "UnitTest")); var user2 = UserHelper.Retrieves().FirstOrDefault(m => m.Id == user.Id); Assert.NotEqual("UnitTest", user2.DisplayName); }
public void SaveByRoleId_Ok() { var roleId = RoleHelper.Retrieves().FirstOrDefault(g => g.RoleName == "Administrators").Id; var id = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "Admin").Id; Assert.True(UserHelper.SaveByRoleId(roleId, new string[] { id })); var users = UserHelper.RetrievesByRoleId(roleId); Assert.NotEmpty(users.Where(u => u.Checked == "checked")); }
public void Reject_Ok() { var u = new User(); u.UserName = "******"; u.DisplayName = "DisplayName"; u.Description = "Desc"; u.Icon = "default.jpg"; UserHelper.Delete(UserHelper.RetrieveNewUsers().Union(UserHelper.Retrieves()).Where(usr => usr.UserName == u.UserName).Select(usr => usr.Id)); UserHelper.Save(u); Assert.True(UserHelper.Reject(UserHelper.RetrieveNewUsers().FirstOrDefault(usr => usr.UserName == u.UserName).Id, "Argo")); }
public void SaveByGroupId_Ok() { var groupId = GroupHelper.Retrieves().FirstOrDefault(g => g.GroupName == "Admin").Id; var id = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "Admin").Id; Assert.True(UserHelper.SaveByGroupId(groupId, new string[] { id })); var users = UserHelper.RetrievesByGroupId(groupId); Assert.NotEmpty(users.Where(u => u.Checked == "checked")); Assert.True(UserHelper.SaveByGroupId(groupId, new string[0])); }
public void SaveUser_Ok() { var user = new User { UserName = "******", Password = "******", DisplayName = "DisplayName", ApprovedBy = "System", ApprovedTime = DateTime.Now, Description = "Desc", Icon = "default.jpg" }; Assert.Equal($"{user.UserName} ({user.DisplayName})", user.ToString()); Assert.True(UserHelper.Save(user)); // 二次保存时返回 false user.Id = null; Assert.False(UserHelper.Save(user)); Assert.True(UserHelper.Delete(UserHelper.Retrieves().Where(usr => usr.UserName == user.UserName).Select(usr => usr.Id))); }
public void ApproveUser_Ok() { UserHelper.Delete(UserHelper.Retrieves().Where(usr => usr.UserName == "UnitTest").Select(usr => usr.Id)); var up = new User() { UserName = "******", Password = "******", Description = "新建用户用于测试批准", DisplayName = "UnitTest", Icon = "default.jpg" }; UserHelper.Save(up); Assert.True(UserHelper.Approve(up.Id, "UnitTest")); UserHelper.Delete(UserHelper.Retrieves().Where(u => u.UserName == up.UserName).Select(u => u.Id)); }
/// <summary> /// 保存用户到数据库中 /// </summary> /// <param name="newUser"></param> /// <param name="roles"></param> internal static void SaveUser(User newUser, IEnumerable <string> roles) { var uid = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == newUser.UserName)?.Id; if (uid != null) { DbContextManager.Create <User>().Delete(new string[] { uid }); } DbContextManager.Create <User>().Save(newUser); // 根据配置文件设置默认角色 var roleIds = DbContextManager.Create <Role>().Retrieves().Where(r => roles.Any(rl => rl.Equals(r.RoleName, StringComparison.OrdinalIgnoreCase))).Select(r => r.Id); DbContextManager.Create <Role>().SaveByUserId(newUser.Id, roleIds); CacheCleanUtility.ClearCache(userIds: new string[0], roleIds: new string[0], cacheKey: $"{UserHelper.RetrieveUsersByNameDataKey}-{newUser.UserName}"); }
public void RetrieveRolesByUserName_Ok() { var id = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Administrators").Id; UserHelper.SaveByRoleId(id, UserHelper.Retrieves().Select(u => u.Id)); Assert.NotEmpty(RoleHelper.RetrievesByUserName("Admin")); // 新建用户 默认角色为 Default var user = new User { UserName = "******", Password = "******", DisplayName = "DisplayName", ApprovedBy = "System", ApprovedTime = DateTime.Now, Description = "Desc", Icon = "" }; Assert.True(UserHelper.Save(user)); Assert.Single(RoleHelper.RetrievesByUserName(user.UserName)); Assert.True(UserHelper.Delete(UserHelper.Retrieves().Where(usr => usr.UserName == user.UserName).Select(usr => usr.Id))); }
public void RetrievesByUserName_Ok() { var roleId = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Administrators").Id; var userId = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "Admin").Id; UserHelper.SaveByRoleId(roleId, new string[] { userId }); Assert.NotEmpty(AppHelper.RetrievesByUserName("Admin")); roleId = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Default").Id; userId = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "User").Id; UserHelper.SaveByRoleId(roleId, new string[] { userId }); var apps = AppHelper.RetrievesByRoleId(roleId); AppHelper.SaveByRoleId(roleId, apps.Select(a => a.Id)); Assert.NotEmpty(AppHelper.RetrievesByUserName("User")); }
public void RetrieveUserByUserName_Ok() { var usr = UserHelper.RetrieveUserByUserName("Admin"); Assert.Equal("Administrator", usr.DisplayName); // 新建用户 默认角色为 Default var user = new User { UserName = "******", Password = "******", DisplayName = "DisplayName", ApprovedBy = "System", ApprovedTime = DateTime.Now, Description = "Desc", Icon = "" }; Assert.True(UserHelper.Save(user)); var u = UserHelper.RetrieveUserByUserName(user.UserName); Assert.Equal("default.jpg", u.Icon); Assert.True(UserHelper.Delete(UserHelper.Retrieves().Where(usr => usr.UserName == user.UserName).Select(usr => usr.Id))); }
public void RetrieveRolesByUserId_Ok() { var userId = UserHelper.Retrieves().Where(u => u.UserName == "Admin").FirstOrDefault().Id; Assert.NotEmpty(RoleHelper.RetrievesByUserId(userId)); }
public void SaveByUserId_Ok() { var userId = UserHelper.Retrieves().FirstOrDefault(r => r.UserName == "Admin").Id; Assert.True(GroupHelper.SaveByUserId(userId, GroupHelper.Retrieves().Select(g => g.Id))); }
public void SaveRolesByUserId_Ok() { var userId = UserHelper.Retrieves().Where(u => u.UserName == "Admin").FirstOrDefault().Id; Assert.True(RoleHelper.SaveByUserId(userId, RoleHelper.Retrieves().Select(r => r.Id))); }
public virtual void Retrieves_Ok() { Assert.NotEmpty(UserHelper.Retrieves()); }
public void Update_Ok() { var userId = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "Admin").Id; Assert.True(UserHelper.Update(userId, "123789", "Administrator")); }