2013-02-03 25 views
1

我爲我的web應用程序使用SpringMVC,SpringSecurity,Spring,Mybatis。有很多並行子系統(比如說不同的註冊系統),我想要實現的是給每個管理員(有很多管理員在我的控制下)授權給一些子系統。 例如,管理員A,B,C以及子系統X,Y,Z,我打算授權管理員A將子系統A,B授權給子系統C的管理員B,如此。我如何使用spring security來實現這個效果,有沒有關於這個問題的任何文章,或者有什麼關於我的谷歌的術語。非常感謝!!我該如何授權子系統給特定用戶?

+0

你需要是更具體一點。什麼是「子系統」,例如? –

+0

@Luke Taylor,就像不同的註冊子系統一樣,我怎樣才能爲具有特定管理員的每個子系統分配授權?就像我的問題中的例子一樣。 – Judking

回答

1

您可以設置不同的基本URL每個子系統:

www.appdomain.com/subsitemA/page1.html 
www.appdomain.com/subsitemA/page2.html 
www.appdomain.com/subsitemB/* 
www.appdomain.com/subsitemC/* 
.... 
www.appdomain.com/subsitemX/* 

然後,它也很容易使用攔截的URL模式,以確保他們:

<sec:http auto-config='true' use-expressions="true" > 
    <!-- Specific patterns comes first --> 
    <sec:intercept-url pattern="/subsitemA/**" access="hasRole('ROLE_ADM_A')" /> 
    <sec:intercept-url pattern="/subsitemB/**" access="hasRole('ROLE_ADM_A') and hasRole('ROLE_ADM_B')" /> 
    <sec:intercept-url pattern="/subsitemC/**" access="hasRole('ROLE_ADM_C') and hasRole('ROLE_ADM_D')" /> 
    ... 
    <!-- General pattern comes last --> 
    <sec:intercept-url pattern="/**" access="isFullyAuthenticated()" /> 
</sec:http>