![](/img/trans.png)
[英]ASP.NET MVC Simple logon page, username & password match but getting unauthorized message
[英]Get username of logon user ASP.NET MVC
我想獲取登錄用戶名和域的用戶名。 獲取它的代碼是在控制器中:
User.Identity.GetUserId()
在我的web.config中是:
<system.web>
<identity impersonate="false"/>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime />
<pages controlRenderingCompatibilityVersion="4.0" />
</system.web>
目前,我只得到一個空字符串。 我必須更改以獲取Windows用戶名信息?
其他人的旁注 :在我的研究中,我還得到以下內容:
Environment.UserDomainName + @"\" + Environment.UserName
參考這個 ,它只傳遞線程運行的身份而不是窗口信息。
編輯1:我目前正在調試模式下測試我的程序。
User.Identity.GetUserId()
是Microsoft.AspNet.Identity
的擴展方法。 身份與Windows Auth不兼容(你必須使用其中一個),所以我不確定你在這里做了什么。
一般來說,在Windows Auth中, User.Identity.Name
的值將采用{DOMAIN}\\{USER}
。 因此,如果您想要域名和/或用戶名,您可以將該字符串拆分為\\
並獲取您所追求的部分。
說到Identity, User.Identity.Name
應該是ApplicationUser.UserName
的值,但是根據設置,它可能是ApplicationUser.Email
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.