我在系統記錄時設定了一些帶有宣告的值。
public async Task<IActionResult> Login(string txtUserName, string txtPassword)
{
string username = txtUserName;
var claims = new List<Claim>
{
new Claim("username",username)
};
}
現在我想訪問 Razor 頁面中的宣告值。我嘗試使用@((ClaimsIdentity) User.Identity).GetSpecificClaim("username")Razor 頁面中的流暢代碼行進行訪問,但它不起作用。
<div class="container-nav">
<a class="navbar-brand"><p>Website name</p></a>
<div class="profile">
<i class="fas fa-envelope"></i>
<a class="navbar-brand"><p>@((ClaimsIdentity)User.Identity).GetSpecificClaim("username")</p></a>
</div>
</div>
uj5u.com熱心網友回復:
您可以HttpContext.User在后端添加宣告,如下所示:
public async Task<IActionResult> Login(string txtUserName, string txtPassword)
{
string username = txtUserName;
var claims = new List<Claim>
{
new Claim("username",username)
};
var appIdentity = new ClaimsIdentity(claims);
HttpContext.User.AddIdentity(appIdentity);
//....
}
然后在前端獲取索賠,如下所示:
@User.FindFirst("username").Value
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/404843.html
標籤:
