【发布时间】:2017-01-18 15:20:38
【问题描述】:
我的应用程序可以有以下 URL:
/siteadmin/homepage/
/siteusers/customer/createCustomer
下面是我的spring-security.xml:
<beans:beans>
<http auto-config="true">
<intercept-url pattern="/siteusers***" access="isAuthenticated()" />
<!-- <intercept-url pattern="siteusers/home/*" access="hasRole('USER') OR hasRole('ADMIN')" /> -->
<intercept-url pattern="/siteadmin***" access="hasRole('ROLE_ADMIN')" />`enter code here`
<form-login login-page="/siteusers/loginprocess/login" default-target-url="/siteusers/home/homepage"
login-processing-url="/siteusers/loginprocess/login"
authentication-failure-url="/siteusers/loginprocess/login?error" username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/siteusers/loginprocess/login?logout" logout-url="/siteusers/loginprocess/logout" />
<!-- enable csrf protection -->
<csrf />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="b" password="123456" authorities="ROLE_ADMIN" />
<user name="a" password="a" authorities="ROLE_USER" /><!-- This user can not access /admin url -->
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
如果我使用用户“a”登录并点击 URL http://localhost:8080/siteadmin/homepage/,则允许用户“a”查看该页面,尽管他的角色不是 admin。但是当我尝试点击http://localhost:8080/siteadmin 时,Spring Security 工作正常,即。它显示拒绝访问页面。
我想为没有Admin 角色的用户限制/admin/* URL。
【问题讨论】:
标签: spring-mvc spring-security