더북(TheBook)

7. Startup.cs 클래스의 ConfigureServices() 메서드에 최고 관리자 아이디에 대한 정보를 Settings 폴더의 DotNetNoteSettings.json 파일에서 읽어 와서 Administrators 정책 권한을 설정하는 코드를 추가한다. 다음 코드는 ConfigureServices() 메서드의 모든 코드를 표시한 것은 아니다.

▼  Startup.cs 클래스의 ConfigureServices( ) 메서드에 코드 추가

public void ConfigureServices(IServiceCollection services)
{
  services.Configure<DotNetNoteSettings>(
      Configuration.GetSection(“DotNetNoteSettings”));
  
  
  // [User][9] Policy 설정
  services.AddAuthorization(options =>
  {
      // Users Role이 있으면, Users Policy 부여
      options.AddPolicy(
          “Users”, policy => policy.RequireRole(“Users”));
      // Users Role이 있고 UserId가 “Admin”이면 “Administrators” 부여
      options.AddPolicy(
          “Administrators”,
              policy => policy
                  .RequireRole(“Users”)
                  .RequireClaim(“UserId”, // 대소문자 구분
                      Configuration
                          .GetSection(“DotNetNoteSettings”)
                          .GetSection(“SiteAdmin”).Value)
                  );
  });



}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.