public SsoUser GetUser() { //sso逻辑 var token = HttpContext.Current.Request.QueryString["token"]; if (token.IsNullOrEmpty()) { token = CookieHelper.GetCookieValue("token"); } //根据token 获取用户信息,并保存token if (!token.IsNullOrEmpty()) { try { var ssoserver = ConfigSettingHelper.GetAppStr("ssoserver"); var userinfojson = ApiDataHelper.GetData(ssoserver + api + "?token=" + token); var user = JsonHelper.DeserializeObject <SsoUser>(userinfojson); return(user); } catch (Exception ex) { LogHelper.Error(ex); } } return(null); }
public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); //todo 获取用户信息,获取到了直接返回,这里可以替换使用应用程序中的数据 var userName = CookieHelper.GetCookieValue(SsoClient.UserName); if (!userName.IsNullOrEmpty()) { FormsAuthentication.SetAuthCookie(userName, true); return; } var user = SsoClient.Instance.GetUser(); if (user == null) { //跳转到sso登录页面 var ssoserverLogin = ConfigSettingHelper.GetAppStr("ssoserver") + loginurl + "?returnurl=" + filterContext.RequestContext.HttpContext.Request.Url.AbsoluteUri; filterContext.Result = new RedirectResult(ssoserverLogin); return; } CookieHelper.SetCookie(SsoClient.Token, user.token); CookieHelper.SetCookie(SsoClient.UserName, user.username); FormsAuthentication.SetAuthCookie(user.username, true); filterContext.Result = new RedirectResult(filterContext.RequestContext.HttpContext.Request.Url.AbsoluteUri); }
static Composition() { var pluginName = ConfigSettingHelper.GetAppStr("PluginName"); var dirCatalog = new DirectoryCatalog(".", pluginName + ".*.dll"); container = new System.ComponentModel.Composition.Hosting.CompositionContainer(dirCatalog); }
/// <summary> /// 根据权限生成超链接,当没有权限返回空 /// </summary> /// <param name="helper"></param> /// <param name="linkText"></param> /// <param name="actionName"></param> /// <param name="controllerName"></param> /// <param name="class"></param> /// <param name="htmlAttrbuites"></param> /// <param name="routeAttributes"></param> /// <returns></returns> public static HtmlString AuthedLink(this HtmlHelper helper, string linkText, string actionName, string controllerName, string @class, object htmlAttrbuites, object routeAttributes) { var enablePermission = ConfigSettingHelper.GetAppStr <bool>("EnablePermission"); var area = ""; if (helper.ViewContext.RouteData.DataTokens["area"] != null) { area = helper.ViewContext.RouteData.DataTokens["area"].ToString(); } if (enablePermission) { var roles = LoginHelper.Instance.GetLoginUserRoles(); if (roles == null) { return(new HtmlString("")); } if (!roles.CheckRole(controllerName, actionName, area)) { return(new HtmlString("")); } } TagBuilder tag = new TagBuilder("a"); tag.AddCssClass(@class); if (htmlAttrbuites != null) { var ats = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttrbuites); foreach (var at in ats) { tag.Attributes.Add(at.Key, at.Value.ToString()); } } var d = new RouteValueDictionary(); d.Add("area", area); if (routeAttributes != null) { var atts = HtmlHelper.AnonymousObjectToHtmlAttributes(routeAttributes); foreach (var att in atts) { d.Add(att.Key, att.Value); } } UrlHelper urlhelp = new UrlHelper(helper.ViewContext.RequestContext); tag.Attributes.Add("href", urlhelp.Action(actionName, controllerName, d)); tag.InnerHtml = linkText; return(new HtmlString(tag.ToString())); }
public static HtmlString AuthedLink(this HtmlHelper helper, string linkText, string actionName, string controllerName, string para = "", string @class = "", string attr = "" ) { var area = ""; if (helper.ViewContext.RouteData.DataTokens["area"] != null) { area = helper.ViewContext.RouteData.DataTokens["area"].ToString(); } var enablePermission = ConfigSettingHelper.GetAppStr <bool>("EnablePermission"); if (enablePermission) { var roles = LoginHelper.Instance.GetLoginUserRoles(); if (roles == null) { return(new HtmlString("")); } if (!roles.CheckRole(controllerName, actionName, area)) { return(new HtmlString("")); } } var d = new RouteValueDictionary(); d.Add("area", area); UrlHelper urlhelp = new UrlHelper(helper.ViewContext.RequestContext); var rurl = urlhelp.Action(actionName, controllerName, d) + "?" + para; return(new HtmlString("<a class='" + @class + "' " + attr + " href='" + rurl + "'>" + linkText + "</a>")); }
/// <summary> /// 获取appsetting /// </summary> /// <param name="knl"></param> /// <param name="key"></param> /// <returns></returns> public static string GetAppSetting(this IKernel knl, string key) { return(ConfigSettingHelper.GetAppStr(key)); }
public MongoDbRepository() { this._dbName = ConfigSettingHelper.GetAppStr("MongoDBName"); }
public static void Init() { Path = ConfigSettingHelper.GetAppStr("indexpath"); // FSDirectory directory = FSDirectory.Open(new DirectoryInfo(IndexPath), new NoLockFactory()); //_reader = IndexReader.Open(directory, true); }