Назад к вопросам
Middle+
7
Как реализована авторизация?
Компании, где спрашивали
Gravilink
Ответ от нейросети
sobes.tech AI
Авторизация обычно реализуется через проверку прав доступа пользователя после успешной аутентификации. В C# часто используют ASP.NET Identity или JWT (JSON Web Tokens) для управления сессиями и правами.
Пример с использованием JWT:
// Генерация токена
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes("секретный_ключ");
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim(ClaimTypes.Name, user.Id.ToString()),
new Claim(ClaimTypes.Role, user.Role)
}),
Expires = DateTime.UtcNow.AddHours(1),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
var tokenString = tokenHandler.WriteToken(token);
// Проверка токена в middleware
// ...
Таким образом, после аутентификации клиент получает токен, который передаёт в заголовках запросов для доступа к защищённым ресурсам.