/* stolen from the 1.0 S.W.Config ModulesConfiguration.cs */ internal HttpModuleCollection LoadModules (HttpApplication app) { HttpModuleCollection coll = new HttpModuleCollection (); Type type; foreach (HttpModuleAction item in Modules){ type = HttpApplication.LoadType (item.Type); if (type == null) { /* XXX should we throw here? */ continue; } IHttpModule module = (IHttpModule) Activator.CreateInstance (type, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, null, null); module.Init (app); coll.AddModule (item.Name, module); } /* XXX the 1.x config stuff does this * indirectly.. I'm not sure we want to do it * here, but this keeps things working in much * the same fashion in 2.0-land. */ { IHttpModule module = new DefaultAuthenticationModule (); module.Init (app); coll.AddModule ("DefaultAuthentication", module); } return coll; }
public HttpModuleCollection CreateCollection () { HttpModuleCollection items = new HttpModuleCollection (); foreach (ModuleItem item in modules) items.AddModule (item.ModuleName, item.Create ()); return items; }
internal HttpModuleCollection CreateModules() { HttpModuleCollection modules = new HttpModuleCollection(); foreach (HttpModuleAction module in Modules) { modules.AddModule(module.Entry.ModuleName, module.Entry.Create()); } modules.AddModule("DefaultAuthentication", DefaultAuthenticationModule.CreateDefaultAuthenticationModuleWithAssert()); return modules; }
public static void RegenrateSessionId() { Authorization.AuthoCookie.RegenerateAuthoCookie(); SessionIDManager manager = new SessionIDManager(); string oldId = manager.GetSessionID(HttpContext.Current); string newId = manager.CreateSessionID(HttpContext.Current); bool isAdd = false, isRedir = false; manager.SaveSessionID(HttpContext.Current, newId, out isRedir, out isAdd); HttpApplication ctx = (HttpApplication)HttpContext.Current.ApplicationInstance; HttpModuleCollection mods = ctx.Modules; System.Web.SessionState.SessionStateModule ssm = (SessionStateModule)mods.Get("Session"); System.Reflection.FieldInfo[] fields = ssm.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance); SessionStateStoreProviderBase store = null; System.Reflection.FieldInfo rqIdField = null, rqLockIdField = null, rqStateNotFoundField = null; foreach (System.Reflection.FieldInfo field in fields) { if (field.Name.Equals("_store")) { store = (SessionStateStoreProviderBase)field.GetValue(ssm); } if (field.Name.Equals("_rqId")) { rqIdField = field; } if (field.Name.Equals("_rqLockId")) { rqLockIdField = field; } if (field.Name.Equals("_rqSessionStateNotFound")) { rqStateNotFoundField = field; } } object lockId = rqLockIdField.GetValue(ssm); if ((lockId != null) && (oldId != null)) { store.ReleaseItemExclusive(HttpContext.Current, oldId, lockId); } rqStateNotFoundField.SetValue(ssm, true); rqIdField.SetValue(ssm, newId); }
public static void InsertRewriteRule(string positionRuleName, string ruleName, RewriteRule rewriteRule) { if (rewriteRule == null) { throw new ArgumentNullException("rewriteRule"); } rewriteRule.Name = ruleName; HttpModuleCollection modules = System.Web.HttpContext.Current.ApplicationInstance.Modules; foreach (string moduleName in modules) { UrlRewriteModule rewriteModule = modules[moduleName] as UrlRewriteModule; if (rewriteModule != null) { rewriteModule.InsertRewriteRuleBeforeInternal(positionRuleName, ruleName, rewriteRule); } } }
public static void AddRewriteRule(string ruleName, RewriteRule rewriteRule) { if (rewriteRule == null) { throw new ArgumentNullException("rewriteRule"); } rewriteRule.Name = ruleName; HttpModuleCollection modules = HttpContext.Current.ApplicationInstance.Modules; foreach (string moduleName in modules) { UrlRewriteModule rewriteModule = modules[moduleName] as UrlRewriteModule; if (rewriteModule != null) { rewriteModule.AddRewriteRuleInternal(rewriteRule); } } }
public static void Init(HttpApplication context) { if ((Interlocked.Exchange(ref _hasBeenInitialized, 1) != 1) && ((DynamicEntries.Count != 0) && (_reflectionUtil != null))) { IntPtr integratedModeContext = _reflectionUtil.GetIntegratedModeContext(); if (integratedModeContext != IntPtr.Zero) { _reflectionUtil.SetModuleConfigInfo(null); HttpModuleCollection integratedModuleCollection = _reflectionUtil.GetIntegratedModuleCollection(context, integratedModeContext); IList moduleConfigInfo = _reflectionUtil.GetModuleConfigInfo(); string name = "__ASP_IntegratedDynamicModule_Shim"; string assemblyQualifiedName = typeof(IntegratedDynamicModule).AssemblyQualifiedName; string condition = "managedHandler"; moduleConfigInfo.Insert(0, _reflectionUtil.NewModuleConfigurationInfo(name, assemblyQualifiedName, condition)); foreach (DynamicModuleRegistryEntry entry in DynamicEntries) { moduleConfigInfo.Add(_reflectionUtil.NewModuleConfigurationInfo(entry.Name, entry.Type, "managedHandler")); } HttpModuleCollection registeredModuleCollection = _reflectionUtil.GetRegisteredModuleCollection(context); for (int i = 0; i < integratedModuleCollection.Count; i++) { _reflectionUtil.AddModuleToCollection(registeredModuleCollection, integratedModuleCollection.GetKey(i), integratedModuleCollection.Get(i)); } IList moduleList = _reflectionUtil.NewListOfModuleConfigurationInfo(); for (int j = moduleConfigInfo.Count - DynamicEntries.Count; j < moduleConfigInfo.Count; j++) { moduleList.Add(moduleConfigInfo[j]); } HttpModuleCollection modules3 = _reflectionUtil.BuildIntegratedModuleCollection(context, moduleList); for (int k = 0; k < modules3.Count; k++) { _reflectionUtil.AddModuleToCollection(registeredModuleCollection, modules3.GetKey(k), modules3.Get(k)); } } } }
public void Index() { //Cписок используемых модулей в своем приложении - //свойство HttpContext.ApplicationInstance.Modules //регистрировать новые модули можно в web.config //<system.webServer><modules></modules></system.webServer> HttpModuleCollection modules = this.HttpContext.ApplicationInstance.Modules; string[] keys = modules.AllKeys; Response.Write("<h3> Http modules</h3>"); Response.Write("<ul>"); foreach (var key in keys) { Response.Write($"<li>{key}</li>"); } Response.Write("</ul>"); Response.Write($"<h3> Http handler - {this.HttpContext.Handler}</h3>"); }
public ActionResult Status() { StringBuilder result = new StringBuilder(); result.Append("<br /><b>AuditTrail</b>"); result.Append("<br />:: IAuditTrailUnitOfWork: " + (DependencyResolver.Current.GetService <IAuditTrailUnitOfWork>()).GetType().ToString()); result.Append("<br />:: IAuditTrailManager: " + (DependencyResolver.Current.GetService <IAuditTrailManager>()).GetType().ToString()); result.Append("<br />"); result.Append("<br /><b>Directory</b>"); result.Append("<br />:: Configuration: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Directory.Configuration"))); result.Append("<br />:: Export: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Directory.Export"))); result.Append("<br />:: Import: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Directory.Import"))); result.Append("<br />:: Template: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Directory.Template"))); result.Append("<br />"); result.Append("<br /><b>EDM</b>"); result.Append("<br />:: IEdmManager: " + (DependencyResolver.Current.GetService <IEdmManager>()).GetType().ToString()); result.Append("<br />:: Directory: " + ConfigurationHelper.AppSettings <string>("EasyLOB.EDM.FileSystemDirectory")); result.Append("<br />"); result.Append("<br /><b>Log</b>"); result.Append("<br />:: ILogManager: " + (DependencyResolver.Current.GetService <ILogManager>()).GetType().ToString()); AppTenant tenant = MultiTenantHelper.Tenant; result.Append("<br />"); result.Append("<br /><b>Multi-Tenant</b>"); result.Append("<br />:: Name: " + tenant.Name); result.Append("<br />:: Description: " + tenant.Name); result.Append("<br />:: Connections: " + tenant.Connections.Count.ToString()); AppProfile profile = ProfileHelper.Profile; result.Append("<br />"); result.Append("<br /><b>Profile</b>"); result.Append("<br />:: User Name: " + profile.UserName); result.Append("<br />:: Role Name(s): " + String.Join(",", profile.Roles.ToArray())); result.Append("<br />:: Is Administrator ? " + profile.IsAdministrator.ToString()); result.Append("<br />:: Is Authenticated ? " + profile.IsAuthenticated.ToString()); result.Append("<br />:: Audit Trail"); foreach (AppProfileAuditTrail auditTrail in profile.AuditTrail) { string domainEntity = (String.IsNullOrEmpty(auditTrail.Domain) ? "" : auditTrail.Domain + ".") + auditTrail.Entity; result.Append("<br /> " + domainEntity + " " + auditTrail.LogMode + " " + (auditTrail.LogOperations ?? "").Trim()); } result.Append("<br />"); result.Append("<br /><b>Report</b>"); result.Append("<br />:: RDL: " + ConfigurationHelper.AppSettings <string>("EasyLOB.Report.RDL.Url")); result.Append("<br />:: RDLC: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Report.RDLC.Directory"))); result.Append("<br />"); result.Append("<br /><b>Security - Authentication</b>"); result.Append("<br />:: IAuthenticationManager: " + (DependencyResolver.Current.GetService <IAuthenticationManager>()).GetType().ToString()); result.Append("<br />:: IIdentityUnitOfWork: " + (DependencyResolver.Current.GetService <IIdentityUnitOfWork>()).GetType().ToString()); //IAuthenticationManager authenticationManager = DependencyResolver.Current.GetService<IAuthenticationManager>(); //result.Append("<br />:: User Name: " + authenticationManager.UserName); //result.Append("<br />:: Role Name(s): " + String.Join(",", authenticationManager.Roles.ToArray())); //result.Append("<br />:: Is Administrator ? " + authenticationManager.IsAdministrator.ToString()); //result.Append("<br />:: Is Authenticated ? " + authenticationManager.IsAuthenticated.ToString()); result.Append("<br />"); result.Append("<br /><b>Security - Authorization</b>"); result.Append("<br />:: IAuthorizationManager: " + (DependencyResolver.Current.GetService <IAuthorizationManager>()).GetType().ToString()); result.Append("<br />:: IActivityUnitOfWork: " + (DependencyResolver.Current.GetService <IActivityUnitOfWork>()).GetType().ToString()); HttpSessionStateBase session = Session; result.Append("<br />"); result.Append("<br /><b>Session</b>"); result.Append("<br />:: SessionID: " + Session.SessionID); result.Append("<br />:: Key(s)"); for (int i = 0; i < session.Contents.Count; i++) { string value = session[i].ToString(); switch (session.Keys[i]) { case "EasyLOB.Menu": //value = JsonConvert.SerializeObject((List<AppMenu>)session[i]); break; case "EasyLOB.MultiTenant": //value = JsonConvert.SerializeObject((List<AppTenant>)session[i]); break; case "EasyLOB.Profile": value = JsonConvert.SerializeObject((AppProfile)session[i]); break; case "EasyLOB.UrlDictionary": value = JsonConvert.SerializeObject((Dictionary <string, string>)session[i]); break; } result.Append("<br /> " + session.Keys[i] + ": " + value); } result.Append("<br />"); result.Append("<br /><b>Web</b>"); result.Append("<br />:: Application Directory: " + DIHelper.EnvironmentManager.ApplicationDirectory); result.Append("<br />:: Web Directory: " + DIHelper.EnvironmentManager.ApplicationPath(ConfigurationHelper.AppSettings <string>("EasyLOB.Directory.Configuration"))); result.Append("<br />:: Web Url: " + DIHelper.EnvironmentManager.WebUrl); result.Append("<br />:: Web Path: " + DIHelper.EnvironmentManager.WebPath); result.Append("<br />:: Web Domain: " + DIHelper.EnvironmentManager.WebDomain); result.Append("<br />:: Web SubDomain: " + DIHelper.EnvironmentManager.WebSubDomain); result.Append("<br />"); result.Append("<br /><b>HTTP Modules</b>"); HttpApplication httpApplication = HttpContext.ApplicationInstance; HttpModuleCollection modules = httpApplication.Modules; string[] keys = modules.AllKeys; Array.Sort(keys); foreach (string key in keys) { result.Append("<br />:: " + key); } ViewBag.Status = result.ToString(); TaskViewModel viewModel = new TaskViewModel("Tasks", "Status", PresentationResources.TaskStatus); return(ZView(viewModel)); }
public void SetModules(HttpModuleCollection col) { HttpModules = col != null?GetHttpModules(col) : HttpModules; }
public void AddModuleToCollection(HttpModuleCollection target, string name, IHttpModule m) { CommonReflectionUtil.MakeDelegate <Action <string, IHttpModule> >(target, this._mi_HttpModuleCollection_AddModule)(name, m); }
public void FixtureSetUp() { coll = new HttpApplication().Modules; }
public ModulesCollector(HttpModuleCollection modules) : this(modules, "modules") { }
/// <summary> /// Registers this module for all events required by the Spring.Web framework /// </summary> public virtual void Init(HttpApplication app) { lock (typeof(WebSupportModule)) { s_log.Debug("Initializing Application instance"); if (!s_isInitialized) { HttpModuleCollection modules = app.Modules; foreach (string moduleKey in modules.AllKeys) { if (modules[moduleKey] is SessionStateModule) { #if !NET_1_1 HookSessionEvent((SessionStateModule)modules[moduleKey]); #else HookSessionEvent11(); #endif } } } s_isInitialized = true; // signal, that VirtualEnvironment is ready to accept // handler registrations for EndRequest and EndSession events VirtualEnvironment.SetInitialized(); } app.PreRequestHandlerExecute += new EventHandler(OnConfigureHandler); app.EndRequest += new EventHandler(VirtualEnvironment.RaiseEndRequest); #if NET_2_0 // TODO: this is only a workaround to get us up & running in IIS7/integrated mode // We must review all code for relative virtual paths - they must be resolved to application-relative paths // during parsing of the object definitions bool hideRequestResponse = false; if (ContextHideRequestResponse != null) { hideRequestResponse = (bool)ContextHideRequestResponse.GetValue(app.Context); ContextHideRequestResponse.SetValue(app.Context, false); } #endif try { // ensure context is instantiated IConfigurableApplicationContext appContext = WebApplicationContext.GetRootContext() as IConfigurableApplicationContext; // configure this app + it's module instances if (appContext == null) { throw new InvalidOperationException("Implementations of IApplicationContext must also implement IConfigurableApplicationContext"); } HttpApplicationConfigurer.Configure(appContext, app); } finally { #if NET_2_0 if (ContextHideRequestResponse != null) { ContextHideRequestResponse.SetValue(app.Context, hideRequestResponse); } #endif } }
/// <summary> /// Constructor creates new instance of class and adds all the /// modules in M to its collection. /// </summary> public ExtendableModuleCollection(HttpModuleCollection M) { Modules = M; ModuleKeys = new ArrayList(M.AllKeys); ExtraModules = new ArrayList(); }
public ActionResult ModuleList() { HttpModuleCollection hmc = HttpContext.ApplicationInstance.Modules; return(View(hmc)); }
public HttpModuleCollection LoadModules (HttpApplication app) { HttpModuleCollection coll = new HttpModuleCollection (); foreach (ModuleItem item in Modules) { IHttpModule module = (IHttpModule) Activator.CreateInstance (item.Type, true); module.Init (app); coll.AddModule (item.Name, module); } return coll; }
public ModulesCollector(HttpModuleCollection modules, string name) { this.modules = modules; this.name = name; }
public void Init(HttpApplication application) { application.BeginRequest += new EventHandler(application_BeginRequest); application.PostResolveRequestCache += new EventHandler(this.OnApplicationPostResolveRequestCache); application.PostMapRequestHandler += new EventHandler(this.OnApplicationPostMapRequestHandler); application.AuthenticateRequest += new EventHandler(OnAuthenticateRequest); application.AddOnAcquireRequestStateAsync(new BeginEventHandler(this.BeginAcquireState), new EndEventHandler(this.EndAcquireState)); application.ReleaseRequestState += new EventHandler(this.OnReleaseState); application.EndRequest += new EventHandler(this.OnEndRequest); HttpModuleCollection modules = null; var moduleCollectionField = typeof(HttpApplication).GetField("_moduleCollection", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); if (moduleCollectionField != null) { try { modules = (HttpModuleCollection)moduleCollectionField.GetValue(application); } catch (System.Reflection.TargetInvocationException ex) { if (ex.InnerException != null) { throw ex.InnerException; } throw; } } else { modules = application.Modules; } var sessionModule = modules["Session"] as SessionStateModule; if (sessionModule != null) { var mBeginAcquireState = typeof(SessionStateModule).GetMethod("BeginAcquireState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var mEndAcquireState = typeof(SessionStateModule).GetMethod("EndAcquireState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var mReleaseState = typeof(SessionStateModule).GetMethod("OnReleaseState", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var mEndRequest = typeof(SessionStateModule).GetMethod("OnEndRequest", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); _beginEventHandler = (BeginEventHandler)Delegate.CreateDelegate(typeof(BeginEventHandler), sessionModule, mBeginAcquireState); _sessionEndEventHandler = (EndEventHandler)Delegate.CreateDelegate(typeof(EndEventHandler), sessionModule, mEndAcquireState); _sessionOnReleaseState = (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), sessionModule, mReleaseState); _sessionOnEndRequest = (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), sessionModule, mEndRequest); } var formsAuthModule = modules["FormsAuthentication"] as FormsAuthenticationModule; if (formsAuthModule != null) { var mOnEnter = typeof(FormsAuthenticationModule).GetMethod("OnEnter", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var mOnLeave = typeof(FormsAuthenticationModule).GetMethod("OnLeave", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); _formsAuthOnEnter = (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), formsAuthModule, mOnEnter); _formsAuthOnLeave = (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), formsAuthModule, mOnLeave); } var windowsAuthModule = modules["WindowsAuthentication"] as WindowsAuthenticationModule; if (formsAuthModule != null) { var mOnEnter = typeof(WindowsAuthenticationModule).GetMethod("OnEnter", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); _windowsAuthOnEnter = (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), windowsAuthModule, mOnEnter); } }