AuthenticationManager的認證流程


       上一篇講了UserDetails(規范用戶信息)和UserDetailService(獲取用戶信息)

       這篇 來講獲取用戶信息后該如何認證,它的認證流程是什么?

          Spring Security 是一個安全管理框架,它的安全是基於一條長長的過濾器鏈,當用戶發出一個請求時,首先會進入Security 的過濾器鏈中(之后我會更新一篇關於Security 過濾器鏈的詳細文章,這篇就只就AuthenticationManager進行解析),當進入UsernamePasswordAuthenticationFitel這個過濾器的時候,會判斷是否是登錄路徑,如果是,配置AuthenticationManagerBuilder會讓Security自動構建一個認證管理器

AuthenticationManager。以下是認證的配置:

public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    BookService bookService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
   
       auth.userDetailsService(bookService).passwordEncoder(new BCryptPasswordEncoder());
    }

UserDetailService會根據用戶傳過來的用戶名查找一個用戶,passwordEncoder用於密碼的加密和比對,如果認證成功,則會返回一個Authentication對象


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM