1
A
回答
3
是的,你可以做到這一點。您可以在配置xml文件中的標籤中定義以下標籤。
<security:form-login login-page="/sessionexpired"
login-processing-url="/j_spring_security_check"
default-target-url="/submitLogin"
always-use-default-target="true"
authentication-failure-handler-ref="customAuthenticationFailureHandler"/>
你可以看到最後一個參數設置認證失敗處理程序,裁判它的值是一個refenrece以遵循相同的XML文件中定義的bean。
<bean id="customAuthenticationFailureHandler" class="com.xxx.xxx.xxx.CustomFilter">
<constructor-arg type="String" value="loginfailed"></constructor-arg>
<constructor-arg type="org.hibernate.SessionFactory" ref="sessionFactory"></constructor-arg>
</bean>
此bean中定義的類是您自己的類,它將獲取有關失敗登錄詳細信息的信息。
public class CustomFilter extends SimpleUrlAuthenticationFailureHandler {
private String defaultFailureUrl;
private SessionFactory sessionFactory;
public CustomFilter(String defaultFailureUrl,SessionFactory sessionFactory) {
super();
this.defaultFailureUrl = defaultFailureUrl;
this.sessionFactory = sessionFactory;
}
@Override
public void onAuthenticationFailure(HttpServletRequest request,
HttpServletResponse response, AuthenticationException exception)
throws IOException, ServletException {
// TODO Auto-generated method stub
String userName = request.getParameter("j_username");;
/*System.out.println("CustomFilter Begins");
System.out.println("CustomeFilter.username :: " + userName);
System.out.println("getMessage :: " + exception.getMessage());
System.out.println("exception :: " + exception.getClass().getSimpleName());
System.out.println("RemoteAddr :: " + request.getRemoteAddr()); */
}
}
當認證將失敗那麼這個類的方法onAuthenticationFailure
將被調用,您可以獲取用戶的詳細信息有登錄數據庫或日誌文件。
希望這可以幫助你。乾杯。
相關問題
- 1. 使用Spring Security的「記住我」選項時登錄錯誤
- 2. Spring Security Grails在登錄時獲取用戶詳細信息
- 3. 如何使用spring security從失敗登錄中獲取用戶名?
- 4. 如何在Spring獲取之前捕獲Spring Security登錄表單?
- 5. 當使用grails spring security rest插件登錄時獲取用戶詳細信息
- 6. Spring Security使用Ajax登錄記住我
- 7. 使用Spring Security登錄登錄時的用戶代理信息
- 8. Spring Security:驗證用戶的403錯誤
- 9. Spring-MVC,Spring-Spring-Security:無法從sessionRegistry獲取在線用戶
- 10. GWT + Spring Security獲取403錯誤
- 11. spring-security:如何在sso登錄時獲取OAuth2 userInfo?
- 12. 如何從CustomUser獲取用戶ID在Spring Security
- 13. 在Spring Security OpenID中,我如何獲取用戶詳細信息?
- 14. 如何在spring security和java註銷後獲取用戶角色?
- 15. Spring Security用戶
- 16. 如何檢查用戶是否使用spring-security登錄?
- 17. 使用openid spring security登錄時註冊
- 18. 如何通過Spring Security獲取當前用戶的角色
- 19. 如何獲取spring-ws + tomcat來記錄錯誤
- 20. 使用Spring Security從CAS Server成功完成登錄後獲取用戶數據
- 21. 使用Spring Boot + Spring Security時圖像上的錯誤403
- 22. 如何從Spring Security UI獲取正確的錯誤消息?
- 23. 如何使用Spring Security在login.jsp頁面顯示登錄錯誤消息?
- 24. 使用UserRecordID獲取CloudKit用戶記錄
- 25. 如何在Spring Security 3.0.5中獲取所有應用程序的在線用戶?
- 26. 如何在用戶被記住時用Spring Security執行自定義邏輯?
- 27. 如何使用Spring Security的
- 28. 如何獲取用戶有權使用Spring Security ACL的域對象列表?
- 29. Spring Boot + Spring Security使用AngularJS登錄
- 30. Spring Security的在線用戶
很好的答案。謝謝 – Richie
@Richie歡迎:) –