public void SaveApp_Ok() { var appId = AppHelper.RetrievesByUserName("Admin").FirstOrDefault(); Assert.False(string.IsNullOrEmpty(appId)); Assert.True(UserHelper.SaveApp("Admin", appId)); UserHelper.SaveApp("Admin", ""); }
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")); }
/// <summary> /// 获得默认的前台首页地址,默认为~/Home/Index /// </summary> /// <param name="userName">登录用户名</param> /// <param name="appId">默认应用程序编码</param> /// <returns></returns> public virtual string RetrieveHomeUrl(string?userName, string appId) { // https://gitee.com/LongbowEnterprise/dashboard/issues?id=IS0WK // https://gitee.com/LongbowEnterprise/dashboard/issues?id=I17SD0 var url = "~/Home/Index"; var dicts = DictHelper.RetrieveDicts(); if (appId.IsNullOrEmpty()) { var defaultUrl = dicts.FirstOrDefault(d => d.Name == "前台首页" && d.Category == "网站设置" && d.Define == 0)?.Code; if (!string.IsNullOrEmpty(defaultUrl)) { url = defaultUrl; } } else if (appId.Equals("BA", StringComparison.OrdinalIgnoreCase)) { // 使用配置项设置是否启用默认第一个应用是默认应用 var defaultApp = (dicts.FirstOrDefault(d => d.Name == "默认应用程序" && d.Category == "网站设置" && d.Define == 0)?.Code ?? "0") == "1"; if (defaultApp) { var app = AppHelper.RetrievesByUserName(userName).FirstOrDefault(key => !key.Equals("BA", StringComparison.OrdinalIgnoreCase)) ?? ""; if (!string.IsNullOrEmpty(app)) { // 指定应用程序的首页 var appUrl = RetrieveDefaultHomeUrlByApp(dicts, app); if (!string.IsNullOrEmpty(appUrl)) { url = appUrl; } } } } else { // 指定应用程序的首页 var appUrl = RetrieveDefaultHomeUrlByApp(dicts, appId); if (!string.IsNullOrEmpty(appUrl)) { url = appUrl; } } return(url); }