SpringSecurity hideUserNotFoundExceptions
專案中,使用SpringSecurity使用者登入驗證時,密碼錯誤能夠正常丟擲異常,
但是使用者不存在的情況卻依然丟擲密碼錯誤的異常。
異常:總是丟擲UsernameNotFoundException異常,列印出Badcredentials。
原因:hideUserNotFoundExceptions屬性預設為ture,會隱藏使用者不存在的異常
檢視AbstractUserDetailsAuthenticationProvider的authenticate()方法
發現問題所在:hideUserNotFoundExceptions屬性預設為ture
解決方案:
修改配置檔案如下
<sec:authentication-manager alias="authenticationManager">
<sec:authentication-provider ref="daoAuthenticationProvider">
<!-- <sec:password-encoder ref="passwordEncoder">
<salt-source ref="saltSource"/>
</sec:password-encoder> -->
</sec:authentication-provider>
</sec:authentication-manager>
<!-- 加了這段才可以捕捉UsernameNotFoundException -->
<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<!-- 必須實現的介面 -->
<property name="userDetailsService" ref="hibernateUserDetailsManager" />
<!-- 是否隱藏使用者沒有找到的異常,預設為true,即將不能準確地報告使用者是否存在的異常 -->
<property name="hideUserNotFoundExceptions" value="false"/>
</bean>
相關文章
- springSecurity使用SpringGse
- 使用SpringSecuritySpringGse
- SpringSecurity總結SpringGse
- SpringSecurity-3SpringGse
- springsecurity和EXTSpringGse
- 萬字長文,SpringSecuritySpringGse
- SpringSecurity認證流程SpringGse
- SpringSecurity應用篇SpringGse
- SpringSecurity之認證SpringGse
- SpringSecurity之整合JWTSpringGseJWT
- SpringSecurity之授權SpringGse
- 實現springSecurity框架SpringGse框架
- SpringSecurity許可權管理系統實戰—四、整合SpringSecurity(上)SpringGse
- SpringSecurity許可權管理系統實戰—五、整合SpringSecurity(下)SpringGse
- SpringSecurity許可權管理系統實戰—六、SpringSecurity整合JWTSpringGseJWT
- 【SpringSecurity系列02】SpringSecurity 表單認證邏輯原始碼解讀SpringGse原始碼
- SpringSecurity 學習筆記SpringGse筆記
- 從零學習SpringSecuritySpringGse
- SpringSecurity簡單入門SpringGse
- SpringSecurity過濾器原理SpringGse過濾器
- 你還不瞭解SpringSecurity嗎?快來看看SpringSecurity實戰總結~SpringGse
- SpringBoot 整合SpringSecurity JWTSpring BootGseJWT
- 登陸認證框架:SpringSecurity框架SpringGse
- SpringBoot 整合 SpringSecurity 梳理Spring BootGse
- 在SpringBoot中使用SpringSecuritySpring BootGse
- 前後端分離整合SpringSecurity後端SpringGse
- SpringSecurity(2)---記住我功能實現SpringGse
- SpringSecurity認證流程原始碼詳解SpringGse原始碼
- SpringSecurity_連線mysql(初出茅廬)SpringGseMySql
- SpringBoot整合SpringSecurity(入門級)Spring BootGse
- SpringSecurity3網站安全授權SpringGse網站
- 微服務整合springsecurity實現認證微服務SpringGse
- SpringSecurity 原始碼分析之SecurityFilterchain的構建SpringGse原始碼FilterAI
- SpringSecurity中的Authentication資訊與登入流程SpringGse
- SpringSecurity認證和授權流程詳解SpringGse
- SpringSecurity(1)---認證+授權程式碼實現SpringGse
- spring系列—CAS客戶端與SpringSecurity整合Spring客戶端Gse
- 一篇文章帶你認識 SpringSecuritySpringGse