Hi Les,

I'm using the spring integration as shown in the shiro documentation.

<bean id="lifecycleBeanPostProcessor" 
class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
<bean 
class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
    <property name="securityManager" ref="securityManager"/>
</bean>

It's creating CGLIB proxies for the controllers, and method security works 
great, but class-level is ignored.

--b

On Jan 17, 2012, at 1:18 AM, Les Hazlewood wrote:

> Hi Brian,
> 
> What AOP mechanism are you using?  Typically the AOP interception
> mechanism needs to check for the existence at the method or class
> level and enforce accordingly.
> 
> Regards,
> 
> Les
> 
> On Mon, Jan 16, 2012 at 8:15 AM, Brian M. Carr <[email protected]> wrote:
>> Hello all,
>> 
>> I'm working with Shiro 1.1.0 and have a project with a custom realm.  When I 
>> add a @RequiresRoles("admin") annotation to a method in a controller, Shiro 
>> correctly intercepts the request, and throws an expected 
>> AuthorizationEception.  However, when I move the annotation up to the class 
>> level, users lacking the "admin" role are granted access without an 
>> exception.
>> 
>> The @RequiresRoles annotation has TYPE in it's target, so I was expecting 
>> this to work.  Is this functionality currently available?  If it is 
>> available, is there additional configuration necessary to cause Shiro to 
>> intercept all method calls in a class beyond what is needed to intercept 
>> annotated methods?
>> 
>> Thank you,
>> --b

Reply via email to