programing

AuthorizeAttribute 재정의 AuthorizeCore 또는 OnAuthorization 확장

yoursource 2021. 1. 14. 23:23
반응형

AuthorizeAttribute 재정의 AuthorizeCore 또는 OnAuthorization 확장


ASP.NET MVC를 사용하여 사용자 지정 권한 부여 논리를 처리하기 위해 사용자 지정 Authorize 특성을 만들고 있습니다. 나는 많은 예제를 보았고 꽤 간단하지만 내 질문은 AuthorizeCore 또는 OnAuthorization 중 어떤 방법을 재정의하는 것이 가장 좋습니까? 나는 둘 중 하나를 무시하는 많은 예를 보았습니다. 차이가 있습니까?


단서는 반환 유형에 있습니다.

AuthorizeCore부울을 반환합니다- 의사 결정 코드입니다. 이것은 사용자의 신원을보고 그들이 어떤 역할에 있는지 등을 테스트하는 것으로 제한되어야합니다. 기본적으로 다음 질문에 답해야합니다.

Do I want this user to proceed?

"측면에서"추가 활동을 수행해서는 안됩니다.

OnAuthorizevoid를 반환합니다 .이 시점에서 발생해야하는 기능여기에 넣습니다 . 예 : 로그에 쓰기, 세션에 일부 데이터 저장 등


사용자가 처음으로 권한을 부여 받았는지 또는 캐시 된 권한을 사용 중인지 여부에 관계없이 실행해야하는 코드를 AuthorizeCore.

소스 코드를 보면, 당신은이 볼 수 AuthorizeCore모두에 의해 호출되는 OnAuthorizeOnCacheAuthorization. 이렇게하면 권한이 캐시되지만 특정 작업을 허용하고 권한에 대한 실제 결정을 내릴 수 있습니다.

AuthorizationContext에서 무언가가 필요한 경우 정보를 보유 할 속성을 만든 다음 AuthorizeCore 메서드에서 액세스 할 수 있습니다.

참조 URL : https://stackoverflow.com/questions/6860686/extend-authorizeattribute-override-authorizecore-or-onauthorization

반응형