identity2

닷넷디벨·2023년 9월 1일
0

Authentication vs authorization

차이

  • 인증은 일반적으로 토인이 유효한지 확인함으로써 사용자가 자신이 누구인지 확인
  • 권한 인증된 사용자가 일부 작업을 수행할수 있는지 여부를 결정 하는 프로세스

Authentication schemes 인증체계

  • 인증체계는 기본적으로 사용자 인증을 담당하는 Code Block
  • 다양한 방법으로 인증을 구현 가능한 체계가 많다
  • 다수의 인증체계를 가져도 된다.
  • 예로 쿠키 인증 체계가 있다.
    • Request Cookie 읽기
    • Validation
    • 인증 성공시 사용자에게 인증 티켓 제공
    • 실패시 실패 결과 반환
  • ASP.NET Core 7.0 두가지 인증 체계 함계 제공
    • 쿠키 인증 방식
    • JWT 토큰 인증

      사용자 지정 인증 체계

      간단한 사용법
      builder.Services.AddAuthentication()
        .AddCookie();
      사용자 지정 인증을 등록 하는 방법
      builder.Services.AddAuthentication()
        .AddScheme<SessionTokenAuthenticationSchemeOptions, SessionTokenAuthenticationSchemeHandler>(
            "SessionTokens",
            opts => {}
        );
      인증 요청을 받는 처리기(SessionTokenAuthenticationSchemeHandler)처리기는 다음에서 상속되어야 합니다.AuthenticationHandler또는 구현합니다.IAuthenticationHandler인터페이스 첫 번째 접근 방식은 기본 추상 클래스가 대부분의 메서드에 대해 합리적인 기본 구현을 제공하기 때문에 조금 더 쉽습니다. 모든 요청에 관한 권한 요청
      app.MapControllers().RequireAuthorization();
      요약
      다음은 본 내용을 요약한 몇 가지 사례입니다.

핸들러에 실제 인증 코드가 포함된 많은 인증 체계를 정의할 수 있습니다.
기본 인증 체계가 수동 또는 자동으로 설정된 경우...
인증 핸들러는 요청할 때마다 호출됩니다.
실제로 권한 부여를 시행하려면, 사용RequireAuthorization()또는[Require]
이미 활성화된 경우 인증을 선택적으로 비활성화하려면,[AllowAnonymous]
기본 구성표가 설정되지 않은 경우...
인증을 활성화할 때 인증 체계를 명시적으로 선택해야 합니다.[Require(AuthenticationSchemes = "...")]
인증 핸들러는 사용자가 인증을 사용하도록 설정한 경우에만 실행됩니다.
구문을 단순화하고 단순히 사용하기 위해[Authorize]시작 시 기본 권한 부여 정책 정의


profile
hardcore developer

0개의 댓글