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)
                      );
      });
    
    
    
    }
    

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