1

我开发了一个使用第三方 DLL 的网站。

此 DLL 声明了一个名为 AgeGatewayModule 的 IHttpModule 类。

我无权访问 DLL 的源代码。

在我的 web.config 中,我在配置属性中声明了一个 configSection 和提要:

<configSections>
<section name="AgeGatewayConfiguration" type="ExternalCompany.AgeGateway.SDK.AgeGatewayConfiguration" />
</configSections>

<AgeGatewayConfiguration
  AgeGatewayUrl="~/Age-Gateway/"
  AccessDeniedUrl="~/Access-Denied/"
  CountryServiceUrl="http://External-Company.svc/v1/" 
LocationServiceUrl="http://External-Company.svc/v1/" 
LdaServiceUrl="http://External-Company.svc/v1/" 
WhiteListingUserAgentsServiceUrl="http://External-Company.svc/v1/UserAgents/" 
WhiteListingReferrersServiceUrl="http://External-Company.svc/v1/Referrers/" 
TokenRealm="http://External-Company.com" 
TokenUserId="xxxx" 
TokenPassword="xxxxxx" 
TokenServiceNamespace="xxxxx" 
TokenAcsHostUrl="accesscontrol.windows.net" 
AllowedGreyCountriesToGlobal="AL" />

最后,模块被添加如下:

  <system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <add name="AgeGatewayModule" type="ExternalCompany.AgeGateway.SDK.AgeGatewayModule, Heineken.AgeGateway.SDK" preCondition="" />
</modules>
<validation validateIntegratedModeConfiguration="false" />

我遇到的问题是:

每次用户第一次访问该网站时 - 该用户都会被重定向到年龄网关页面。

但我希望如果管理员出现并请求某个 URL,例如:

 http://my-website/admin/

他们将免于填写年龄网关表格。即重定向不会发生。

在 web.config 中添加的 AgeGatewayModule 在幕后进行所有检查并在必要时重定向到 age-gateway url。

所以我希望能够说类似的话:

if(url != "http://my-website/admin/" || CurrentLoggedInUser != admin)
{
//load the AgeGatewayModule only now)
}

这可能吗?

4

0 回答 0