public FederatedIPSecurityToken( DateTime issueDate, DateTime expirationDate, IEnumerable<Saml2Attribute> pricipalAttributes, IEnumerable<Saml2Attribute> tokenAttributes, FederatedIPAuthentication federatedIPAuthentication, IIntegratedSharedService application) : base() { FederatedIPAuthentication = federatedIPAuthentication; User = (TPrincipal)Activator.CreateInstance(typeof(TPrincipal), pricipalAttributes); RefreshDate = tokenAttributes.GetValue<DateTime>("RefreshDate"); SetData(issueDate, expirationDate, FederatedIPAuthentication.Issuer); }
public string SignIn <TPrincipal>(IIntegratedSharedService application, FederatedIPSecurityToken <TPrincipal> secutityToken) where TPrincipal : FederatedIPUser { string data = GetTokenString(secutityToken.ToSaml2SecurityToken(application)); HttpCookie updateCookie = application.Context.CreateCookie(CookieName, data, secutityToken.ValidTo); if (application.Context.HasCookie(CookieName)) { application.Context.SetCookie(updateCookie); } else { application.Context.AddCookie(updateCookie); } application.UpdateUser(secutityToken.User); return(data); }
public FederatedIPSecurityToken <TPrincipal> GetCredentials <TPrincipal>(IIntegratedSharedService application) where TPrincipal : FederatedIPUser { if (application.Context.HasCookie(CookieName)) { try { HttpCookie cookie = application.Context.GetCookie(CookieName); Saml2SecurityToken saml2SecurityToken = ParseTokenString(cookie.Value); FederatedIPSecurityToken <TPrincipal> securityToken = saml2SecurityToken.ToSecurityToken <TPrincipal>(this, application); if (securityToken.IsValidTokenDate()) { return(securityToken); } } catch { return(null); } } return(null); }
private static Type GetControllerFromContext(this RequestContext requestContext, IIntegratedSharedService application) { string controller = requestContext.RouteData.Values.GetRouteValueDictionaryValue("controller").ToString(); string area = requestContext.RouteData.DataTokens.GetRouteValueDictionaryValue("area"); string controllerName = GetFullName(application.ProjectName, controller, area); Type ty = application.ApplicationAssembly.ApplicationControllers().FirstOrDefault(t => t.FullName == controllerName); return(ty); }
private static MethodInfo GetActionMethod(this ControllerContext controllerContext, IIntegratedSharedService application) { Type controllerType = controllerContext.RequestContext.GetControllerFromContext(application); ControllerDescriptor controllerDescriptor = new ReflectedControllerDescriptor(controllerType); ActionDescriptor actionDescriptor = controllerDescriptor.FindAction(controllerContext, controllerContext.RouteData.Values.GetRouteValueDictionaryValue("action").ToString()); return((actionDescriptor as ReflectedActionDescriptor).MethodInfo); }
internal static Type ActionType(this ControllerContext controllerContext, IIntegratedSharedService application) { return(controllerContext.GetActionMethod(application).ReturnType); }
internal static IEnumerable <AuthorizeGroupAttribute> GetAuthorizeGroupAttributes(this ControllerContext controllerContext, IIntegratedSharedService application) => controllerContext.GetActionMethod(application).GetAuthorizeGroupAttributes();
internal static bool IsLogoutRequest(this ControllerContext controllerContext, IIntegratedSharedService application) { return(controllerContext.GetActionMethod(application).IsLogoutEndppointMethod()); }
internal static bool RequiresAuthentication(this ControllerContext controllerContext, IIntegratedSharedService application) { return(controllerContext.GetActionMethod(application).IsAuthentictedMethod()); }
public void SignOut(IIntegratedSharedService application, IPrincipal user) { application.UpdateUser(user); application.Context.RemoveCookie(CookieName); }
public FederatedIPSecurityToken(TPrincipal principal, FederatedIPAuthentication federatedIPAuthentication, IIntegratedSharedService application) : base() { FederatedIPAuthentication = federatedIPAuthentication; User = principal; Update(); }
//public static IEnumerable<ISiteMapItem> MapSite() => MapSite(new UrlHelper(HttpContext.Request.RequestContext)); public static IEnumerable <ISiteMapItem> MapSite(this IIntegratedSharedService application, UrlHelper url) { return(application.ApplicationAssembly.ApplicationControllers() .SelectMany(controller => controller.GetSiteMapActions(controller)) .Select(method => new SiteMapItem(url, method.Key, method.Value, application.ProjectName))); }
public static ISiteMapItem ToSiteMapItem <TMvcApplication>(this MethodInfo method, UrlHelper url, IIntegratedSharedService application) { return(new SiteMapItem(url, method.ReflectedType, method, application.ProjectName)); }