2014-04-28 364 views
0

我剛剛瞭解春季安全。 考慮春季安全

<security:form-login always-use-default-target="false" 
    authentication-failure-url="/login.do?error=1" default-target-url="admin/admin.do" 
    login-page="/login.do?error=0" login-processing-url="/j_security_check" /> 

目前所有誰登錄的用戶能夠訪問管理頁面。 如果我需要基於授權限制用戶到管理頁面,例如,如果用戶有ROLE_UPDATE,那麼需要做些什麼。這是類似於...非jee.xml文件。

或者是否需要更改應用程序代碼,以便爲使用表單成功登錄的用戶查找「ROLE_UPDATE」。

回答

0

認識到這一問題是舊的,但對於那些誰找到這個...詳情可以在這裏有良好的實例和文檔發現:http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#authorization

最常見的情況是,每個用戶分配給角色的集合他們。然後您可以通過角色來限制功能。該功能可能是網址和/或方法。由於您的示例顯示了XML配置,因此以下是一個XML示例,說明如何限制對URL的訪問。 (注:這是在配置的HTTP部分,即兄弟姐妹形式登錄你上面顯示)

<http> 
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')"/> 
    <form-login ... /> 
</http> 

還有更復雜的選項,但這應該讓你開始。有一些很好的細節在這裏:http://docs.spring.io/spring-security/site/docs/4.0.0.RELEASE/reference/htmlsingle/#ns-form-and-basic