我开发了一个使用第三方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" />
我遇到的问题是:
每次用户第一次访问该网站时 - 该用户都会被重定向到年龄网关页面。
但我希望如果管理员出现并请求某个网址,例如:
http://my-website/admin/
他们将免于填写年龄网关表格。即重定向不会发生。
web.config中添加的AgeGatewayModule在幕后进行所有检查,并在必要时重定向到age-gateway网址。
所以我希望能说出类似的话:
if(url != "http://my-website/admin/" || CurrentLoggedInUser != admin)
{
//load the AgeGatewayModule only now)
}
这可能吗?