サードパーティのDLLを利用したWebサイトを開発しました。
このDLLは、AgeGatewayModuleと呼ばれるIHttpModuleクラスを宣言しています。
DLLのソースコードにアクセスできません。
私のweb.configで、configプロパティでconfigSectionとfeedを宣言します。
<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" />
私が抱えている問題はこれです:
ユーザーが初めてWebサイトにアクセスするたびに、そのユーザーは年齢ゲートウェイページにリダイレクトされます。
しかし、管理者がやって来て、次のような特定のURLを要求した場合はそれを望みます。
http://my-website/admin/
彼らは年齢ゲートウェイフォームへの記入を免除されます。つまり、リダイレクトは行われません。
web.configに追加されたAgeGatewayModuleは、すべてのチェックを実行し、必要に応じてage-gatewayurlにリダイレクトする舞台裏にあります。
だから私は次のようなことを言うことができるようにしたいと思います:
if(url != "http://my-website/admin/" || CurrentLoggedInUser != admin)
{
//load the AgeGatewayModule only now)
}
これは可能ですか?