이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 31277|회답: 2

[출처] 역할 기반 권한 부여

[링크 복사]
2020-6-7 21:25:56에 게시됨 | | |
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) 역할에 속합니다.

전근 출처:하이퍼링크 로그인이 보입니다.




이전의:HttpContext.User.IsInRole()가 항상 false를 반환하는 문제를 해결했습니다.
다음:TS 라딕스 매개변수 누락 (라딕스)
 집주인| 2020-6-7 21:36:01에 게시됨 |


마지막 기능만 적용하고 싶다면, 즉:

다음 항목을 사용자 지정 필터에 추가할 수 있습니다:


허용 복합

이 속성은 맞춤형 기능을 동일한 프로그램 엔터티 앞에 여러 번 배치할 수 있는지 여부를 나타냅니다.
 집주인| 2020-6-10 11:46:34에 게시됨 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com