ASP.NET Core 데이터 보호 기반 인증 token 예제 생 성
먼저 Startup.Configure Services()에 DataProtection 서 비 스 를 등록 합 니 다(IDataProtection Provider 인 터 페 이 스 를 주입 하 는 실현).
public void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection();
}
그 다음 에 DataProtection 을 사용 하 는 클래스 의 구조 함수 에 IDataProtection Provider 인 터 페 이 스 를 추가 하고 이 인터페이스 로 DataProtector 를 만 든 다음 에 이 를 통 해 SecureDataFormat 을 만 들 고 마지막 으로 SecureDataFormat.Protect()방법 으로 계 정 을 활성화 하 는 token 을 만 들 고 SecureDataFormat.Uprotect()로 token 을 복호화 합 니 다.완전한 예제 코드 는 다음 과 같 습 니 다.
public class HomeController : Controller
{
private readonly ISecureDataFormat<string> _dataFormat;
public HomeController(IDataProtectionProvider _dataProtectionProvider)
{
var dataProtector = _dataProtectionProvider.CreateProtector(typeof(HomeController).FullName);
_dataFormat = new SecureDataFormat<string>(new StringSerializer(), dataProtector);
}
public string GenerateToken()
{
return _dataFormat.Protect(Guid.NewGuid().ToString() + ";" + DateTime.Now.AddHours(10));
}
public string DecryptToken(string token)
{
return _dataFormat.Unprotect(token);
}
private class StringSerializer : IDataSerializer<string>
{
public string Deserialize(byte[] data)
{
return Encoding.UTF8.GetString(data);
}
public byte[] Serialize(string model)
{
return Encoding.UTF8.GetBytes(model);
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.