ASP.Net MVC доступ JWT утверждает, изнутри вид - PullRequest
0 голосов
/ 26 декабря 2018

Я успешно внедрил аутентификацию JWT с помощью моего Asp.Net Web API.Тем не менее, я не уверен, как использовать его вместе с моим приложением MVC.Позвольте мне объяснить вам, как я это делал раньше.Как только пользователь вошел в систему, я сохранил пользователя в сеансе.

// Add user to session
Session["User"] = MyUser;

И, на мой взгляд, я принял это так:

@{
    var user = (User)Session["User"];
}
<h2>Welcome</h2>
<h4>@user.FirstName @user.LastName</h4>

Теперь я изменил его, сохранив токен JWT в cookie, когда пользователь вошел в систему следующим образом:

HttpCookie UserCookie = new HttpCookie("UserCookie");
UserCookie.Value = JWTToken;
UserCookie.Expires = DateTime.Now.AddHours(24);

У моего токена JWT есть несколько утверждений, к которым я хочу получить доступ в своих представлениях, как я делал это ранее с сеансом.Как это возможно?Кто-нибудь предложит другой путь?

1 Ответ

0 голосов
/ 26 декабря 2018

вы можете получить к ним доступ в вашем контроллере вот так

var claimsPrincipal= (ClaimsPrincipal)Thread.CurrentPrincipal;
// Get the claims values
string value = claimsPrincipal.Claims.Where(c => c.Type == "your key").Select(c => c.Value).SingleOrDefault();

, а затем передать их на ваш взгляд

не забудьте обновить using

using System.Security.Claims;
using System.Threading;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...