2013-03-05 4 views
2

RequiredAnyRole이라는 고유 한 RequiredRole 속성을 구현하고 있습니다. 목록에서 전달하지만 사용자는 역할 중 하나에 있어야합니다. HasAnyRole이라는 고유 한 메서드를 구현하여 .All() 대신 .Any()을 기반으로 쿼리합니다.AssertRequiredRoles의 목적은 무엇입니까?

HasAllRoles 대신 내 방법을 사용하기 위해 Execute 메서드를 재정의했습니다. 문제는 무엇인지 확실하지 않습니다. AssertRequiredRoles? 그것은 불리지 않는 것 같은가요?

그래도 .All()이 아닌 .Any()을 사용해야합니까?

https://github.com/ServiceStack/ServiceStack/blob/82241fc96e187d12f9db2556aea37cf327813adc/src/ServiceStack.ServiceInterface/RequiredRoleAttribute.cs

+0

당신은 RequiredAnyRole에서 좋은 생각이 있습니다. RequiredAnyRole이 라이브러리와 함께 제공 할 수 있도록 프로젝트에 끌어 오기 요청을 보내는 방법은 어떻습니까? –

+0

현재 내 프로젝트에서 해결 방법을 사용하고 있습니다. 그리고 그것은 흔들린다. 참고로 ServiceStack [여기] (https://github.com/ServiceStack/ServiceStack/issues/724)에서 [문제] (https://github.com/ServiceStack/ServiceStack/issues/724)를 열었습니다.)을 사용하여 별도의 속성 클래스를 만들지 않고도이 과제 (RequiredPermissionAttribute에도 적용됨)를 해결할 수 있습니다. 이 기능을 구현하는 가장 좋은 방법에 대한 의견이 있으시면이 문제를 확인하십시오. 감사합니다. –

+0

예, 당겨 받기 요청을 제출할 수 있습니다. 나중에 저장소에 액세스 할 수 없으므로 나중에이 작업을 수행해야합니다. – CallumVass

답변

1

AssertRequiredRoles는 필요한 역할을 가진 사용자에게 부여 된 액세스를 보장하기 위해 RequestLogsService 같은 다른 플러그인에서 사용할 수있어 정적 도우미 메서드입니다 : 여기에 원래의 코드입니다. 일반 속성 필터로 사용될 때는 호출되지 않습니다.

실행 권한을 무시하면 실행 대상을 완전히 제어 할 수 있으므로 필요에 따라 재정의해야합니다.

관련 문제