Esempio n. 1
0
        public void SaveApp_Ok()
        {
            var appId = AppHelper.RetrievesByUserName("Admin").FirstOrDefault();

            Assert.False(string.IsNullOrEmpty(appId));
            Assert.True(UserHelper.SaveApp("Admin", appId));
            UserHelper.SaveApp("Admin", "");
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        /// <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);
        }