5
我想在我的管理會話bean,以確保方法的具體作用"ROLE_ADMIN"
春季安全:方法不具有@PreAuthorize註解控制
配置(的applicationContext-security.xml文件):
<global-method-security pre-post-annotations="enabled" jsr250-annotations="enabled" secured-annotations="enabled"/>
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/**" access="isAuthenticated()"/>
<intercept-url pattern="/**" access="permitAll()"/>
<form-login
login-processing-url="/j_spring_security_check"
login-page="/login.jsf"
default-target-url="/main.jsf"
authentication-failure-url="/login.jsf" />
<session-management>
<concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</session-management>
</http>
<authentication-manager alias="authenticationManager">
<authentication-provider>
<user-service>
<user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="user1" password="user1" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
<beans:bean id="loggerListener" class="org.springframework.security.authentication.event.LoggerListener"/>
bean的擔保方式:
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String buy() {
...
}
當我登錄下user1
或anonym
,然後點擊「購買」按鈕上的基於web頁面,它仍然重定向到下一頁。
我想到的是發生了一些拒絕訪問異常,它沒有。
實際嘗試過,它是一樣的。據我所知,安全註釋的立場,例如,對於@Secured註釋,我根本不使用。我使用預先註釋@PreAuthorize – sergionni 2011-02-16 21:51:41