2017-11-17 9 views
2

.Net Core에서 컨트롤러 속성 [AllowAnonymous]를 사용하면 로그온하지 않은 사용자가 컨트롤러에 액세스 할 수 있도록 컨트롤러를 설정할 수 있습니다..Net Core에서 비 익명 사용자를 요구하는 방법?

사용자가 로그인해야하는 반대 방법은 있습니까? 모든 사용자에게 역할을 부여한 다음 모든 단일 컨트롤러를 [Authorize (Roles = "WarmBody")]로 검사하지 않고 로그인을 요구하는 방법을 볼 수 없습니까? 당신은 당신이 원하는 컨트롤러 나 행동에 [Authorize] 속성을 사용하여, 당신은 역할 기반 권한 부여가 필요하지 않습니다 각 컨트롤러

답변

4
+3

참조 : [asp.net 코어 권한 오피스 (https://docs.microsoft.com/en-us/aspnet/core/security/authorization/secure-data#modify-the- app-to-secure-user-data) – CalC

+1

"각 컨트롤러에 대해 [Authorize] Attribute 설정"사용자 지정 기본 컨트롤러에서도이 작업을 수행 할 수 있습니다. 익명 액세스를 허용하는 컨트롤러보다 인증을 요구하는 컨트롤러가 더 많은지 여부에 따라 다릅니다. –

2

에 대한 사용자 정의 정책 필터

public class Startup 
{ 
    public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddMvc(config => 
     { 
      var policy = new AuthorizationPolicyBuilder() 
         .RequireAuthenticatedUser() 
         .Build(); 
      config.Filters.Add(new AuthorizeFilter(policy)); 
     }); 

     //other code ... 
    } 

    //other code ... 
} 

또는 설정 [Authorize] 특성을 추가해야합니다