AuthorizeAttribute 재정의 AuthorizeCore 또는 OnAuthorization 확장
ASP.NET MVC를 사용하여 사용자 지정 권한 부여 논리를 처리하기 위해 사용자 지정 Authorize 특성을 만들고 있습니다. 나는 많은 예제를 보았고 꽤 간단하지만 내 질문은 AuthorizeCore 또는 OnAuthorization 중 어떤 방법을 재정의하는 것이 가장 좋습니까? 나는 둘 중 하나를 무시하는 많은 예를 보았습니다. 차이가 있습니까?
단서는 반환 유형에 있습니다.
AuthorizeCore
부울을 반환합니다- 의사 결정 코드입니다. 이것은 사용자의 신원을보고 그들이 어떤 역할에 있는지 등을 테스트하는 것으로 제한되어야합니다. 기본적으로 다음 질문에 답해야합니다.
Do I want this user to proceed?
"측면에서"추가 활동을 수행해서는 안됩니다.
OnAuthorize
void를 반환합니다 .이 시점에서 발생해야하는 기능 을 여기에 넣습니다 . 예 : 로그에 쓰기, 세션에 일부 데이터 저장 등
사용자가 처음으로 권한을 부여 받았는지 또는 캐시 된 권한을 사용 중인지 여부에 관계없이 실행해야하는 코드를 AuthorizeCore
.
소스 코드를 보면, 당신은이 볼 수 AuthorizeCore
모두에 의해 호출되는 OnAuthorize
과 OnCacheAuthorization
. 이렇게하면 권한이 캐시되지만 특정 작업을 허용하고 권한에 대한 실제 결정을 내릴 수 있습니다.
AuthorizationContext에서 무언가가 필요한 경우 정보를 보유 할 속성을 만든 다음 AuthorizeCore 메서드에서 액세스 할 수 있습니다.
'programing' 카테고리의 다른 글
SQL 형식화 표준 (0) | 2021.01.14 |
---|---|
Java Swing에 사용할 수있는 좋은 무료 날짜 및 시간 선택기가 있습니까? (0) | 2021.01.14 |
백그라운드 작업자를 완전히 "죽이는"방법은 무엇입니까? (0) | 2021.01.14 |
ASP.NET MVC-URL의 매개 변수 추출 (0) | 2021.01.14 |
실시간 광고 플랫폼을위한 MongoDB vs. Cassandra vs. MySQL (0) | 2021.01.14 |