にアクセスするために Windows 認証ではなくフォーム認証を使用する必要がある ASP.NET サイトがありますActiveDirectoryMembershipProvider
。Windows 認証が使用するブラウザー認証ポップアップではなく、設計された入力フォームが必要なため、サイトはフォームを使用する必要があります。
サイトは、ユーザー固有のファイルにアクセスするために、Active Directory 経由でログインしているユーザーになりすます必要があります。
ただし、私の web.config には以下が含まれていますがWindowsIdentity.GetCurrent()
、これは と同じではありません。HttpContext.Current.User.Identity
<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="480"/>
</authentication>
<identity impersonate="true" />
特定のアクセス許可を取得するために AD ユーザーになりすます必要があり、フォームがログインを処理するため、ユーザーのパスワードがわからないため、 と を使用できませLoginUser()
ん。WindowsIdentity.Impersonate()
おそらくlogin.aspx.csから取得して、トークンをセッション変数にSystem.Web.UI.WebControls.Login.Password
保存して後で使用することは可能ですか? それとも、正しい方法で偽装するより安全な方法でしょうか?LoginUser()
WindowsIdentity.Impersonate()
フォーム認証が自動的にできない理由がわかりません<identity impersonate="true" />
このhttp://msdn.microsoft.com/en-us/library/ms998351.aspxを読みましたが、Windows 認証を使用しています。