Я запускаю приложение OSGI на Karaf 4.0.4. Это приложение не является веб-приложением.Shiro аннотация по OSGI
Я настроил Apache Shiro для входа в систему с использованием пользовательского SecurityRealm
, использующего учетные данные, хранящиеся в базе данных SQL. SecurityManager
и область сконфигурированы с использованием Blueprint Эта часть работает нормально.
Я хочу использовать аннотации, как:
@RequiresPermissions("doSomething")
@RequiresRoles("admin")
public void myMethodToDoSomething() {
...
}
Эти annoations никогда не оценивали. . (Моя безопасность сфера protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)
метод никогда не вызывается
После прочтения некоторые документы Широ, я понимаю, что это не работает, потому что у меня нет необходимого перехватчик, как это определено в Shiro Spring turorial:
<!-- Enable Shiro Annotations for Spring-configured beans. Only run after -->
<!-- the lifecycleBeanProcessor has run: -->
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
Но, как я не использую весной в моем приложении, эти строки не будут работать.
Как установить такой модуль? Как обычный? – jhamon
Да. Это просто пучок. –
Вот как должен выглядеть ваш файл чертежа: https://github.com/apache/aries/blob/trunk/blueprint/blueprint-itests/src/test/resources/authz.xml –