目前我正在創建沒有登錄頁面的網頁。如何驗證用戶在春季安全中使用信息頭信息
我還有一個網站,將發送一個標頭信息:
user:John
userCode:1234567
所以我目前的網站將檢查頭的內容和驗證的認證管理器的用戶是這樣的:
首先我創建AuthenticationEntryPoint
,這樣未認證的用戶就會去那裏。在AuthenticationEntryPoint
我創建一個令牌並將用戶重定向到主頁面,所以在它進入主頁面之前,spring會對用戶進行身份驗證併爲有效用戶提供令牌這一頁。該代碼是這樣的:
@Component
public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint {
if(authException.getClass().getSimpleName().equals("InsufficientAuthenticationException")) {
if (request.getHeader("user") != null) {
UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(request.getHeader("user"), request.getHeader("userCode"));
SecurityContextHolder.getContext().setAuthentication(auth);
response.sendRedirect(request.getContextPath());
}
}
}
在AuthenticationManager
處理則像往常一樣,給的令牌,如果用戶是有效的。有什麼我需要改變或可以在春季使用的另一種方法?
謝謝!
我不知道預認證應該這樣處理,我指的是自定義的AuthenticationEntryPoint。請參閱參考文檔:[Http403ForbiddenEntryPoint](http://docs.spring.io/spring-security/site/docs/4.0.x/reference/html/preauth.html#http403forbiddenentrypoint) –