我需要創建一個系統,根據日期授予對網站的訪問權限。按日期彈簧安全授權
這裏涉及兩個角色:管理員和用戶
並有2個日期(DATE1 < DATE2)
這些要求:
- DATE1之前,您無法登錄根本
- 只有管理員可以在日期後登錄1
- 有了date2之後YONE可以訪問該頁面,則無需申請批准
這是我的彈簧security.xml文件:
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<http auto-config="true">
<intercept-url pattern="/overview**" access="ROLE_ADMIN" />
<intercept-url pattern="/subscribe**" access="ROLE_ADMIN" />
<form-login
login-page="/login"
default-target-url="/overview"
authentication-failure-url="/login?error"
username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/login?logout" />
<!-- enable csrf protection -->
<csrf/>
</http>
<authentication-manager>
<authentication-provider ref="customAuthProvider">
</authentication-provider>
</authentication-manager>
</beans:beans>
我的猜測是,我需要寫一個自定義元素,以取代intercept-網址標籤,但我不知道如何做到這一點。
不,你不會。你只需要一個自定義的['UserDetailsChecker'](http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/userdetails/UserDetailsChecker.html)記錄日期和角色。 –