2013-08-16 23 views
5

私はAccountInfoPanelと呼ばれる私のヘッダーに非常に単純な部分的なビューを持っています。 それだけで1行があります。User.Identity.Name with windows authentication

Welcome: @HttpContext.Current.User.Identity.Name 

をそして、私のWeb.Configに私が

<authentication mode="Windows" /> 

を持っていますが、アイデンティティ名は常に空です。 VS 2012でデバッグしてインデックスアクションを中断した場合、それは空であることがわかります。

Windows認証を有効にして匿名認証を無効にしてIISを実行すると、問題が発生します。 私は自分のアカウント、またはtest1とtest2のアカウントを接続しようとします。

HTTPエラー401.1 - 無許可 指定した資格情報を使用して、このディレクトリまたはページを表示する権限がありません。

また、偽装をtrueに設定して、チャレンジから同じ応答を得ました。 これを設定する方法を知っている人はいますか?

すべての設定をIISで行う必要がある場合、Visual Studio内でコードをどのようにデバッグしますか?

もう1つ質問があります。私の上司はあなたがログインボックスを必要としないと思っているようです。 IEはあなたが誰であるかを知るだけです。そして、別のアカウントでIEで「実行」することができます。

答えて

8

要するに、私のチェックリスト

http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html

上の潜在的な問題のチェック1:

まず、匿名認証は、サイトにOFFになっていることを確認してください。

第二に、統合可能インターナショナルエクスプローラのセキュリティ(オプション/アドバンストと "統合Windows認証を有効にする"オプションをチェックしてください)。

第3に、ローカルイントラネットゾーンにWebサイトを追加し、少なくとも「オプション/セキュリティ設定/ローカルイントラネット/カスタムレベル」の「イントラネットゾーンでの自動ログオン」オプションを選択します。

第4に、ユーザーとアプリケーションサーバーが同じドメインに存在することを確認します。

+1

これらの情報をお寄せいただきありがとうございます。 まだ運がまだあります。それでも私の信任状は拒否されています。 MylocalmachineName \ Test1 Test1Password – Sam

+1

私はちょうどこれを働かせました。 Wiktorに感謝します。唯一の違いは、IISで基本認証を使用する場合にのみ動作させることができるということです。 Windows認証が機能していません。うまくいけば、私たちが展開するときにうまくいくでしょう。 – Sam

+2

これは私のために働いたことを確認しました。具体的には、Windows認証機能を有効にし、匿名認証機能を無効にします。 – robnick

5

この問題を解決するには、Windows認証機能を有効にする必要があります。以下の手順を実行します。

- [スタート]ボタンをクリックし、[コントロールパネル]をクリックします。プログラムグループを開きます。 - [プログラムと機能]で[Windowsの機能を有効にする]をオンまたはオフにします。 - インターネットインフォメーションサービスとラベルの付いた項目を展開します。 - World Wide Web Servicesというラベルの付いた項目を展開します。 - アイテムのセキュリティを拡張する - > Windows認証を必ず選択してください

また、次のようにIISから匿名認証を無効にする必要があります。 - IISでアプリケーションをクリックします。 - IISグループの認証をダブルクリックします。 - [アクション]の右側にある[無効]をクリックします。これが役に立ちますようにお願いします。

+2

私は早朝から検索していますが、あなたの答えに遭遇しました。あなたの手順を踏んで、コンピュータを再起動した後、ついにそれが動作しました、ありがとう –

1

Visual StudioはWebアプリケーションを提供するためにIIS Expressをインストールするため、Windows認証を使用するように設定する必要があります。 IIS Expressの

設定ファイルは、ここでは通常、(:Where is the IIS Express configuration/metabase file found?詳細):ある

%userprofile%\documents\iisexpress\config\applicationhost.config 

無効に匿名認証(デフォルトで有効):

<anonymousAuthentication enabled="false" userName="" /> 

Windows認証を有効にします(デフォルトでは無効) :

<windowsAuthentication enabled="true"> 
    <providers> 
    <add value="Negotiate" /> 
    <add value="NTLM" /> 
    </providers> 
</windowsAuthentication>