フォームを使用した AD 認証を使用しています。私が直面している問題は、コンピューターのネットワークに既にログインしているため、Web ページに既にログインしていると表示され、ログオフ ボタンをクリックしてもログインしたままになることです。
これは、IIS 7 で Web サイトを展開した場合にのみ発生します。コードをデバッグ モードでテストすると、ログイン/ログオフ ボタンは正常に機能するようです。
IIS 7 の設定を変更する必要があるか、コードが間違っているだけですか?
どんな助けでも大歓迎です。
AD の web.config セクションは次のとおりです。
<connectionStrings>
<add name="ADService" connectionString="LDAP://Dcxxx.xxxx.local"/>
</connectionStrings>
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" attributeMapUsername="sAMAccountName" connectionStringName="ADService" enableSearchMethods="true"/>
</providers>
次に、フォーム認証パーは
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" name=".ADAuthCookie" timeout="15" slidingExpiration="false" protection="All"/>
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
sitemaster.aspx.cs に、ログオフを強制する次のコードを追加しました。
protected void Unnamed2_LoggingOut(object sender, LoginCancelEventArgs e)
{
HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
ViewState.Clear();
FormsAuthentication.SignOut();
Response.Redirect("~/Account/Login.aspx");
}