0
私はasp.net mvcで新しく、_Layoutビューでユーザーの姓と名を表示する必要があります。Windowsの認証と姓の取得方法
私は私がどのように見える一つの解を見
@Request.LogonUserIdentity.Name.Substring(Request.LogonUserIdentity.Name.LastIndexOf(@"\") + 1)
このラインを介してドメイン名の情報なしでユーザー名を持っている -
を参照System.DirectoryServices.AccountManagement
using (var context = new PrincipalContext(ContextType.Domain))
{
var principal = UserPrincipal.FindByIdentity(context, User.Identity.Name);
var firstName = principal.GivenName;
var lastName = principal.Surname;
}
レイザーヘルパーを追加を追加ように:
@helper AccountName()
{
using (var context = new PrincipalContext(ContextType.Domain))
{
var principal = UserPrincipal.FindByIdentity(context, User.Identity.Name);
@principal.GivenName @principal.Surname
}
}
しかし、_Layout.cshtmlのコントローラーはありません。もし私がそれを直接かみそりに入れても、それはどちらも動作しません。
どのようなヘルプはappriciatedされるでしょう!
セッション... –
を使用するのはどうでしょうか、ロジックはどこですか?私は_Layout.cshtml .. にそれを表示する必要があります、そして、私はどのようにセッションから姓と名を得ることができますか?私の知る限り、私はkey \ username \ computer nameを得ることができます... –
ログイン後にセッション変数に姓と名を保存することができます。私はログインアクションの方法を意味します。その後、_Layoutページにあるものにアクセスできます。 –