是否可以在IIS上执行功能以进行身份​​验证,然后再访问URL?

时间:2018-08-23 17:00:07

标签: asp.net authentication iis web-applications

我们的应用程序托管在IIS上,如下所示:

MainAppn1
---subAppn1
---subAppn2
---subAppn3

是否有可能在IIS上自动执行一个功能,以便每当用户点击url时,所有子应用程序通常都会进行身份验证(例如http://server1/MainAppn1/subAppn1.aspx。最佳答案将不胜感激!。

1 个答案:

答案 0 :(得分:1)

您可以实现Custom HTTP Module

namespace AspNetWebForm
{
    public class CustomHttpModule : IHttpModule
    {
        public void Init(HttpApplication application)
        {
            application.BeginRequest += Application_BeginRequest;
            application.AuthenticateRequest += Application_AuthenticateRequest;
            application.AuthorizeRequest += Application_AuthorizeRequest;
        }

        private void Application_BeginRequest(object sender, EventArgs e)
        {    
        }

        private void Application_AuthenticateRequest(object sender, EventArgs e)
        {
        }

        private void Application_AuthorizeRequest(object sender, EventArgs e)
        {
        }

        public void Dispose()
        {
        }
    }
}

web.config

在IIS 7.0集成模式下注册HTTP模块。

<configuration>
  <system.webServer>
    <modules>
      <add name="CustomHttpModule" type="AspNetWebForm.CustomHttpModule"/>
    </modules>
  </system.webServer>
</configuration>