1

これが逆説的でないことを願っていますが、これをどのように行うべきかわかりません...

次の Web.Config エントリを持つ VS2008 ASP.NET MVC プロジェクトがあります。

  <authentication mode="Windows">
      <forms name=".ADAuthCookie" timeout="10" />
  </authentication>

これにより、訪問者は、Windows へのログオンに使用した DOMAIN\username ログインで自動的にログオンします。(右?)

これは開発サーバー ( http://localhost:xxxx ) では機能しますが、IIS サーバー ( http://localhost ) では機能しません。おそらく、開発サーバーがローカル ユーザー (ドメインで ActiveDirectory 読み取り権限を持つ) によって「開始」され、IIS が IUSR_WORKSTATION ユーザーによって「開始」されたためです。(右?)

上記のすべてが当てはまる場合、IIS ユーザーを偽装して (たとえば、自分のユーザー名に)、現在のユーザーを Windows ログイン名だけで認証するにはどうすればよいですか? (下の例のように)?

それとも、IUSR_WORKSTATION ユーザーに ActiveDirectory を付与する必要がありますか? 読み取り権 (サーバー/ IUSR_ ユーザーを頻繁に切り替えるため、好ましくありません)

<identity impersonate="true" userName="DOMAIN\myuser" password="mypass"/>
<authentication mode="Windows">
    <forms name=".ADAuthCookie" timeout="10" />
</authentication>
<identity impersonate="false"/>
4

1 に答える 1

2

Windows 認証の名前は不適切です (IMO)。Windows を認証として使用するのではなく、認証プロセスを IIS に委任します。したがって、IIS の認証を構成する必要があります。これは ASP.NET に流れます。

これを行う方法は、IIS のバージョンによって異なります。IIS7 では、ツリーを展開して Web サイトをクリックし、[認証] をクリックして Windows 認証を有効にします。

于 2009-05-14T12:00:37.873 に答える