6

フォーム認証を使用して、Visual Studio 2010 からサイトを起動しています。IIS ではなく、Visual Studio 開発 (Web) サーバーを使用しています。web.config には次のものがあります。

<authenticaion mode="Forms">
  <forms name=".MyApp" protection="All" cookieless="UseCookies"/>
</authentication>

ログイン ページは、ASP.NET ログイン コントロールを使用しています。ユーザーがログインする前に、次のように表示されます。

HttpContext.Current.Request.LogonUserIdentity.AuthenticationType == "NTLM"
HttpContext.Current.User.Identity == System.Security.Principal.GenericIdentity
HttpContext.Current.User.Identity.AuthenticationType == "NTLM"

このユーザーは、Web ユーザーではなくローカル システム ユーザーとして認証されているようです。これは、サイトにログインしているかどうかに関係なく、ユーザーが常に認証されることを意味しませんか?

Web ユーザー NTLM とはどのようなものですか?

4

2 に答える 2

2

私の知る限り、cassini は Windows 認証をサポートしていません。

これはローカル システム アカウントとして実行され、NTLM 認証として表示されます。

Asp.Net アプリケーション (または WCF) のセキュリティ機能を開発/デバッグしている場合は、IIS にデプロイすることを強くお勧めします。

于 2012-10-09T20:25:43.270 に答える
1

私が間違っていなければ、VS を使用してデバッグしていて、それが開発サーバーであるときにyourself、(認証されている) Visual Studio を (ユーザー コンテキストで) 実行しているように見えます。User

Visual Studio は、コンテキスト (Windows ユーザー アカウント/権限など) で実行されます -Request.LogonUserIdentity.User

Web フォーム/フォーム認証のデバッグには影響しません。フォーム認証ログインに成功するHttpContext.User.Identity.Nameと、「フォーム認証ユーザー」(Webユーザー)を取得できます。

于 2012-10-09T20:33:48.723 に答える