我學習春季安全,我找到了一些困難,瞭解攔截的URL的概念,並回答這個questiong,我覺得對我的學習材料:Spring Security intercept-url的工作方式如何?
在其中爲了你必須寫多個攔截網址的?
所以,在我的學習材料,我發現這個實際例子:
<beans>
<security:http>
<security:intercept-url pattern="/accounts/edit*"
access="ROLE_ADMIN" />
<security:intercept-url pattern="/accounts/account*"
access="ROLE_ADMIN,ROLE_USER" />
<security:intercept-url pattern="/accounts/**"
access="IS_AUTHENTICATED_FULLY" />
<security:intercept-url pattern="/customers/**"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
</security:http>
</beans>
而且它明確指出:
攔截的URL中列出的順序進行評估:第一場比賽被使用, 先放置特定的匹配。
但是什麼意思呢?
所以我知道攔截的URL的安全命名空間的被用來定義什麼是URL,以確保(糾正我,如果我斷言錯誤的事情)。
所以在前面的例子中被固定以下網址:
- /帳號/編輯*
- /賬戶/賬號*
- /帳號/ **
- /客戶/ **
但是,究竟代表什麼樣的訪問角色?
例如爲/賬戶/編輯* URL指定了存取= 「ROLE_ADMIN」
對於/帳戶/帳戶* URL指定了存取=「ROLE_ADMIN,ROLE_USER 「
等等。究竟是什麼意思?我認爲這意味着,但我毫不知情,如果用戶嘗試訪問/accounts/edit *它必須是管理員,而不是他嘗試訪問/accounts/account *它可以是管理員,也可以是普通用戶。
這個解釋是正確的還是不正確的?
如果它是正確的我怎麼可以指定如果用戶「屬於」 ROLE_ADMIN或ROLE_USER?究竟代表什麼以及它在哪裏定義?
究竟是什麼意思,截取的網址按列出的順序進行評估:使用第一個匹配,首先放置特定匹配?
角色本身是由你定義的 - 你可以創建任意數量的角色,你可以給他們任意你想要的名字。然後你可以指定每個角色可以或不可以做的事情。關於「攔截 - 按照列出的順序進行評估:使用第一次匹配,首先放置特定的匹配?」,我真的不知道它應該是什麼意思:) – libik 2015-04-05 15:42:54