0
我在Karaf 4.0.4上運行OSGI應用程序。 此應用程序不是一個Web應用程序。OSGI上的Shiro註釋
我配置了Apache Shiro以便使用自定義SecurityRealm
登錄,該自定義使用存儲在SQL數據庫中的憑證。 SecurityManager
和領域配置使用藍圖 這部分工作正常。
我想用類似註釋:
@RequiresPermissions("doSomething")
@RequiresRoles("admin")
public void myMethodToDoSomething() {
...
}
那些annoations從不評價。 (我的安全領域protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)
方法不會被調用
閱讀一些四郎文檔後,我明白這是行不通的,因爲我沒有,因爲它在四郎春天的定義所需的攔截器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 –