12

Windows認証を使用してユーザー名を取得したいasp.netでWindows認証を使用してユーザー名を取得する方法は?

実際に私はこのボタンをクリックすると「別のユーザーとしてサインイン」を実装しました。そこにWindowsセキュリティが表示され、資格情報が与えられます。

私は他の資格を与えても、現在のユーザー名のみを使用しています。 Windowsセキュリティから与えられた資格情報のユーザー名を取得するには?

IISのホストアプリケーションでは、匿名認証が無効になり、Windows認証が有効になりました。

web.configファイル:

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <identity impersonate="true"/> 
    <authorization> 
     <allow users="*"/> 
     <deny users="*"/> 
    </authorization> 
</system.web> 
<system.webServer> 
    <directoryBrowse enabled="true" /> 
    <security> 
     <authentication> 
      <anonymousAuthentication enabled="false" /> 
      <windowsAuthentication enabled="true" /> 
     </authentication> 
    </security> 

は.cs

ここで私はいつも

string fullName = Request.ServerVariables["LOGON_USER"]; 

任意のアイデアを、デフォルトのユーザー名を取得していますか?事前

答えて

0

のおかげで、私はあなたがカスタムログインページを試すことができますが、新しい資格

string fullName = Request.ServerVariables["LOGON_USER"]; 

を取得されていませんので、以下のコードを考えます。

+0

おかげで以下の彼の記事を参照してください? – user2148679

+0

私は新しいページを設計することを意味しました。 Windows認証を使用してアクティブディレクトリ認証を試すことができます。あなたのページをどのブラウザで実行していますか? –

21

次の方法でWindows認証の下で、ユーザーのWindowsIdentityオブジェクトを取得することができます

WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity; 

、その後、あなたはidentity.Nameのようなユーザーに関する情報を得ることができます。

これらのコードにはHttpContextが必要です。

+0

あなたの応答をありがとう...私はこれを試みたが、動作しない...私はWindowsのセキュリティでこれを解決する方法を取っている間違ったパスワードを与える? – user2148679

+2

Windowsの認証ダイアログで間違ったパスワードを入力したことを意味しますか?認証にパスするべきではありません。 – slepox

4

これは動作するはずです:

User.Identity.Name 

IdentityはここIPrincipal

を返しマイクロソフトdocumentationへのリンクです。

関連する問題