3

たとえば、IIS7で.net 4.5が実行されているMVC 4のWebサイトがあります:www.mysite.comとフォルダーwww.mysite.com/admin

www.mysite.com はフォーム認証を使用しており、特定のページで匿名を許可しています。www.mysite.com/admin でウィンドウ認証を使用したいと考えています。

そのフォルダーのIISセキュリティで、ウィンドウ認証を使用するように設定しています(IISのアプリケーションではありません)

私の管理コントローラーでは、ドメインからユーザー名をキャプチャする必要があり、常に空であり、コードは次のとおりです。

   WindowsIdentity winId = WindowsIdentity.GetCurrent();         
  if (winId != null)
  {
   string name = winId.Name;        
  }

User.Identity.Name も空です。不足しているものを教えてください。

これはかなり一般的なことであり、MVC で機能しない理由を理解できなかったと確信しています。Web フォームを使用している古いサイトがあり、同じ設定で機能しています。

前もって感謝します

4

1 に答える 1

3

ページに Windows 認証を使用している場合は、次の手順を試して、データがあるかどうかを確認してください。これを試したようですが、 Page オブジェクトが含まれていませんでした。

web.config で Windows 認証が有効になっていることを確認してください。

<authentication mode="Windows">
     </authentication>

文字列ユーザー = Page.User.Identity.Name;

これが役立つことを願っています.組み込みのロールとメンバーシップ機能を調べてみます.あなたが謝罪しているルートに慣れていません.

http://www.codeproject.com/Articles/342061/Understanding-ASP-NET-Roles-and-Membership-A-Begin

于 2013-03-28T00:53:29.370 に答える