3

イントラネット Web サイトを持っていますが、ドメイン ID からログインしないと、ブラウザーはドメイン ID のユーザー名とパスワードのポップアップを自動的に生成します。

問題は、ブラウザを閉じて別のユーザーが自分のコンピュータを使用して同じブラウザを開くと、ブラウザがドメイン ID ユーザー名とパスワードのポップアップを再び生成せず、ドメイン ID でイントラネット Web サイトを直接開くことです。

ログアウトまたはブラウザを閉じたときに、AD サーバーとのセッションを終了する方法はありますか?

前もって感謝します

4

2 に答える 2

1

Active Directoryサーバーには、サーバーへのクライアント接続を管理する方法がありません。ユーザーの資格情報とアクセシビリティを管理するだけです。Active Directory内の役割またはユーザーを切り替えるには、文字通りWindowsからログオフしてから再度オンにする必要があります。

これは、WebサイトにログインしているActiveDirectoryユーザーをキャプチャする方法を説明する完璧な記事です。

http://msdn.microsoft.com/en-us/library/ff647076.aspx

ユーザーがサイトにログオンする方法を複製するには、Active Directoryの資格情報を使用するのではなく、フォーム認証を使用するのが最善の策です。フォーム認証の考え方は、複数のユーザーが同じコンピューターを使用してWebサイトにログインする可能性があるということです。Windows認証には、1人のユーザーのみがコンピューターにログオンできるという考え方があるため、デフォルトでそのユーザーの資格情報を使用してイントラネットWebサイトにログオンします。

クライアントにサーバーからの切断要求を送信させることができます。

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspx

ログオン中にユーザーのセッションを管理することもできます。

http://msdn.microsoft.com/en-us/library/ah635ck5

Abandonメソッドは、あなたがやりたいと思う仕事をしているようです。

注:Windows認証を使用するプログラマーは、セキュリティの追加レイヤーについて心配する必要はありませんが、フォーム認証では、セキュリティ対策を念頭に置く必要があります。

于 2012-07-11T14:51:19.017 に答える
0

これが AD サーバーに当てはまるかどうかはわかりませんが、ブラウザーを閉じるときにセッション Cookie を削除できます。

window.onunload=function()
{
   setCookie("YourCookieId","",-1);
}

同様に、ログアウト時に有効期限を -1 年に設定できます。

HttpCookie cookie2 = new HttpCookie("YourCookieId", "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);
于 2012-07-11T14:20:18.500 に答える