asp.net core – Claims 기반으로 한 인증서비스 구현하기 ft. AddAuthentication() , AddCookies()
Claims 사용하기위한 절차 | |
asp.net Core 의 Clamis 기반의 인증 cookie 기반으로 작동하도록 인증 서비스를 추가하고 방식을 추가한다
2) 미들웨어 등록 : Congifure 메서드에 파이프라인등록 var MyUserID = new Claim(ClaimTypes.NameIdentifier , “MyUserID”); var MyClaimsPrincipal = new ClaimsPrincipal(MyClaimsIdentity); // 브라우저를 끄면 쿠키 날림 IsPersistent = false , //Claim 로그아웃 처리
List<Claim> myClaimsList = new List<Claims>(); ClaimIdentity myClaimIdentity = new ClaimIdentity(myClaimsList , “스키마명”); // StartUp.cs ConfigurationServices 에 등록한 // claim 로그인 처리 // claim 로그아웃처리 // Claim 객체로 로그인 여부확인 if (User.Identity.IsAuthenticationed) 로 로그인 여부를 true / false 로 확인 가능 // claim 으로 만든 값을 사용하기 claim 객체사용지 claim 처리된 사용자 객체는 ClaimPrincipla 객체인 User 가 되고, User.Claims.Where(c => c.Type == “LEVEL”).Select(c => c.Value).FirstOrDefault(); |
ㆍAuthentication 서비스 등록 , Authentication 미들웨어 등록하기
ㆍAuthentication 서비스 등록하기 – ConfigureServices(IServicesCollection services) ㆍAuthentication미들웨어등록 | |||
Authentication은 “인증”과 관련된 역할을 하고 , Authorization 은 “권한(허가)” 과 관련된 역할을 하는 서비스로 분류된다. ConfigurationService() 메서드 에서는 services 객체를 통해 Authentication 과 Authorization 서비스를 등록할수있으며, ㆍService.AddAuthenticaion() : 현재 웹프로젝트에 인증서비스를 등록한다. 5) services.authentication(“스키마명”) 로 등록된 “스키마명” (정확히는 scheme(스킴명임)) 을 claim 객체와 연동하여 [예제] // 인증과 관련된 옵션설정 // 쿠키와 관련된 옵션설정
▶ MVC controller 에서 claim 기반 인증시스템 구현 ㆍoptions.Cookie.Expiration vs options.ExpireTimeSpan
|