Dear Dave,
for point 2, let's see this example in sparklr. If I change spring-servlet.xml, to :
Code:
<http pattern="/photos/**" entry-point-ref="oauthAuthenticationEntryPoint" access-decision-manager-ref="accessDecisionManager"
xmlns="http://www.springframework.org/schema/security">
<intercept-url pattern="/photos" access="ROLE_CLIENT,SCOPE_READ" />
<intercept-url pattern="/photos/trusted/**" access="ROLE_CLIENT,SCOPE_TRUST" />
<intercept-url pattern="/photos/user/**" access="ROLE_CLIENT,SCOPE_TRUST" />
<intercept-url pattern="/photos/**" access="ROLE_CLIENT,SCOPE_READ" />
<custom-filter ref="resourceServerFilter" before="EXCEPTION_TRANSLATION_FILTER" />
<access-denied-handler ref="oauthAccessDeniedHandler" />
</http>
I think this means that only client can access to these url(I have not changed anything else and as you know client has role "ROLE_CLIENT"). when I run tonr(or my project), it returns error code:403. I think that "org.springframework.security.access.vote.RoleVote r" can't detect this Role.
I must develop my voter?
for point 1 I describe it later and better. I want to find a better description for it.