153명 중 133명이 이 방법이 도움이 되었다고 느꼈습니다 신원이 생성되면 하나 이상의 역할에 속할 수 있는데, 예를 들어 Tracy는 관리자 및 사용자 역할에 속할 수 있고 Scott은 사용자 역할에만 속할 수 있습니다. 이러한 역할이 어떻게 생성되고 관리되는지는 권한 부여 프로세스의 백업 저장소에 따라 달라집니다. 역할은 ClaimsPrincipal 클래스의 IsInRole 속성을 통해 개발자에게 노출됩니다.
새로운 정체성은 하나 이상의 역할에 속할 수 있습니다. 예를 들어, 트레이시는 관리자와 사용자 역할에 속할 수 있고, 반면 스콧은 사용자 역할에만 속할 수 있습니다. 이러한 역할이 어떻게 생성되고 관리되는지는 승인 프로세스가 어떻게 저장되는지에 따라 달라집니다. ClaimsPrincipal 클래스의 IsInRole 메서드는 개발자들에게 이 역할을 사용하는 방법을 제공합니다.
역할 검사 추가 역할 검증
역할 기반 권한 검사는 선언적이며, 개발자는 이를 코드 내에 내장하여 컨트롤러 또는 컨트롤러 내 동작에 대해 현재 사용자가 반드시 해야 할 역할을 지정합니다 요청된 자원에 접근하려면 회원이 되어야 합니다.
역할 기반 인증은 클레임 기반으로, 개발자가 코드를 내장하여 컨트롤러나 그 안의 메서드에 역할을 할당하고, 요청 내 사용자가 해당 멤버십 요건을 충족해야 함을 명시합니다.
예를 들어, 다음 코드는 AdministrationController에 대한 모든 동작에 대한 접근 권한을 관리자 그룹 구성원으로 제한합니다.
예를 들어, 다음 코드는 AdministrationController의 모든 메서드를 관리자 그룹의 구성원으로만 사용할 수 있도록 제한합니다.
여러 역할을 쉼표로 구분한 리스트로 지정할 수 있습니다;
쉼표 분할 목록에 여러 개의 할당된 역할을 추가할 수 있습니다:
이 컨트롤러는 HRManager 역할이나 재무 역할의 사용자만 접근할 수 있습니다.
컨트롤러는 HRManager 역할이나 재무 역할의 구성원만 접근할 수 있습니다.
여러 속성을 적용할 경우, 접근 사용자는 지정된 모든 역할의 구성원이어야 합니다; 다음 샘플은 사용자가 PowerUser 역할과 ControlPanelUser 역할 모두의 멤버여야 함을 요구합니다.
여러 속성을 사용할 경우, 접근 사용자는 모든 역할의 구성원이어야 합니다; 다음 예시는 사용자가 PowerUser 역할과 ControlPanelUser 역할 모두의 멤버여야 함을 요구합니다.
추가 역할 권한 부여 속성을 액션 수준에서 적용하여 접근을 더 제한할 수 있습니다;
메서드 수준에서 추가 역할 권한 속성을 사용하여 추가 사용 제한을 적용할 수 있습니다;
이전 코드 스니펫에서는 관리자 역할 또는 파워유저 역할의 멤버가 컨트롤러와 SetTime 액션에 접근할 수 있지만, 관리자 역할의 멤버만 접근할 수 있습니다. 셧다운 조치.
이전 코드 스니펫에서는 관리자 또는 파워유저 역할의 구성원이 컨트롤러와 SetTime 메서드를 사용할 수 있지만, 관리자 역할의 구성원만 ShutDown 메서드를 사용할 수 있습니다.
컨트롤러를 잠그되 개별 행동에 익명, 인증되지 않은 접근을 허용할 수도 있습니다.
컨트롤러를 차단할 수도 있지만, 익명 사용자가 허가 없이 별도의 방법을 사용할 수 있도록 허용할 수 있습니다.
정책 기반 역할 검사 정책 기반 역할 검사
역할 요구사항은 새로운 정책 문법을 사용하여 표현할 수도 있는데, 개발자는 권한 서비스 구성의 일부로 시작 시 정책을 등록합니다. 이 기능은 보통 Startup.cs 파일의 ConfigureServices()에 참여합니다.
역할은 새로운 정책 구문을 사용하여 개발자가 시작 시 권한 서비스 구성의 일부로 정책을 등록하는 방식으로도 달성할 수 있습니다. 이 기능은 보통 Sartup.cs 파일의 ConfigureServices()에 추가됩니다.
정책은 AuthorizeAttribute 속성의 Policy 속성을 사용하여 적용됩니다;
AuthorizeAttribute 속성 위에 Policy 속성을 사용해 정책을 구현하세요.
요구사항에 여러 허용된 역할을 지정하고 싶다면, RequireRole 메서드의 매개변수로 지정할 수 있습니다;
요청에서 여러 역할을 지정하고 싶다면, RequireRole 메서드의 여러 매개변수로 지정할 수 있습니다:
그의 예시는 관리자, 파워유저 또는 백업 관리자 역할에 속한 사용자를 승인합니다.
이 예시에서 권한 있는 사용자는 관리자(Administrator), 파워유저(PowerUser), 또는 백업관리자(BackupAdministrator) 역할에 속합니다.
전근 출처:하이퍼링크 로그인이 보입니다. |