2017-06-23 16 views
0

私はMVCに比較的新しいので、ユーザー名を取得し、ユーザーの資格情報をチェックする会社のライブラリに渡す必要があります。MVC 4 Windows認証

のWeb.config

<authentication mode="Windows" /> 
    <authorization> 
    <allow users="*"/> 
    <deny users="?"/> 
    </authorization> 

コントローラ

[Authorize] 
    public class MVCAuthen : Controller 
    { 
     public string GetCredentials() 
     { 
      var userName = HttpContext.Current.User.Identity.Name; 
      string credential = library.Getcredential(userName); 

     return credential; 
    } 
} 

私の質問は、私は、ユーザー名を取得しようとすると、私は空白になっておくです。誰かが私が間違っていることやユーザー名を取得する方法を教えてもらえますか?
注:私はそれをデバッグしようとしているので、これをローカルでやろうとしています。

+0

model-view-controllerタグはパターンについての質問です。 ASP.NET-MVCの実装には特定のタグがあります。 –

答えて

0

まず、インターネットアプリケーションまたはイントラネットアプリケーションテンプレートを使用する必要があります。

次に、web.configでフォーム認証をコメントまたは削除し、Windows認証を使用する必要があります。このような何か:

<-- 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
--> 

<authentication mode="Windows" /> 

そして今、プロジェクトを右クリックし、プロパティに移動し、あなたのソリューションエクスプローラに行く「のappSettings」

<appSettings> 
    <add key="autoFormsAuthentication" value="false" /> 
    <add key="enableSimpleMembership" value="false"/> 
</appSettings> 

でこれを追加します。 Windows認証を有効に変更する必要があります。

匿名アクセスを許可しない場合は、匿名認証を無効にすることもできます。

これですべてのコントローラまたはアクションに[認証]を追加できます。

次に、Windowsのパスワードでログインできるはずです。

ログインしてページを表示できる場合は、このようなユーザー名を取得できます。

var username = HttpContext.User.Identity.Name; 
関連する問題