我开发了一个使用第三方 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)
}
这可能吗?