注意:AuthenticationProvider與Authentication緊密聯繫,關於Authentication,看個人這篇博客。ide
先上一張圖,以下圖1.net
圖1 AuthenticationProvider的類圖blog
AuthenticationProvider是個接口,經過實現這個接口,實現拓展,此圖來自於《Pro Spring Security》的Chapter3:繼承
圖2 AuthenticationProvider的繼承圖接口
來看個例子,DaoAuthenticationProvider,它的類圖以下圖3,使用了Template pattern,在AbstractUserDetilsAuthenticationProvider中定義執行邏輯,而在DaoAuthenticationProvider中有具體實現。Template pattern能夠在必定程度上理解爲父類調用子類。get
圖3 DaoAuthenticationProvider的類圖博客
參考:it
1. Carlo Scarioni, Pro Spring Security.io