



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一文詳解SpringSecurity的基本用法@Override
publicUserDetailsloadUserByUsername(Stringusername)throwsUsernameNotFoundException{
if(!USERNAME.equals(username)){
thrownewUsernameNotFoundException("用戶名不存在");
UserDetailsuserDetails=newUser(USERNAME,PASSWORD,AuthorityUmaSeparatedStringToAuthorityList("admin,common"));
returnuserDetails;
重啟項目看看,輸入定義的用戶名和密碼,發(fā)現(xiàn)登錄不了,查看控制臺發(fā)現(xiàn)報錯,提示如下:
報錯的原因是沒有使用任何的PasswordEncoder,我們輸入的密碼沒有用加密工具進行加密。SpringSecurity其實已經(jīng)給我們提供了很多的PasswordEncoder。在org.springframework.security.crypto.password包下有一個PasswordEncoder接口,看看他的實現(xiàn)類
把這個PasswordEncoder的任意一個我們需要用來加密密碼的實現(xiàn)類的Bean注入到容器里面,就可以直接拿來使用,代碼如下:
@Configuration
publicclassSecurityConfigextendsWebSecurityConfigurerAdapter{
@Bean
publicBCryptPasswordEncoderbCryptPasswordEncoder(){
returnnewBCryptPasswordEncoder();
修改MyUserDetailsServiceImpl類如下:
@Service
publicclassMyUserDetailsServiceImplimplementsUserDetailsService{
privatestaticfinalStringUSERNAME="admin";
privatestaticfinalStringPASSWORD="admin123";
@Resource
BCryptPasswordEncodercryptPasswordEncoder;
@Override
publicUserDetailsloadUserByUsername(Stringusername)throwsUsernameNotFoundException{
if(!USERNAME.equals(username)){
thrownewUsernameNotFoundException("用戶名不存在");
UserDetailsuserDetails=newUser(USERNAME,cryptPasswordEncoder.encode(PASSWORD),AuthorityUmaSeparatedStringToAuthorityList("admin,common"));
returnuserDetails;
重啟項目再次測試,輸入定義的賬號和密碼。即可訪問到接口文檔頁面。
4.如何修改登錄頁面
覺得默認的登錄頁面很丑,我們?nèi)绾味x自己的登錄頁面呢?方法也很簡單,首先我們先去準備一個登錄頁面。如下:
前端代碼如下:
formaction="/login"
h1登錄/h1
div
inputtype="text"name="user"
spandata-placeholder="Username"/span
/div
div
inputtype="password"name="pass"
spandata-placeholder="Password"/span
/div
inputtype="submit"value="登錄"
div
Don'thaveaccountahref="#"rel="externalnofollow"Signup/a
/div
/form
把登錄頁面文件存放到項目的資源文件夾中static目錄下,然后在SecurityConfig重寫configure(HttpSecurityhttp)這個方法,代碼如下:
@Override
protectedvoidconfigure(HttpSecurityhttp)throwsException{
http.formLogin()
.loginPage("/login.html")#自定義登錄頁面
.usernameParameter("user")#對應(yīng)前端表達name屬性
.passwordParameter("pass")#對應(yīng)前端表達name屬性
.loginProcessingUrl("/login")
.defaultSuccessUrl("/doc.html")#登錄成功后跳轉(zhuǎn)的頁面地址
.failureUrl("/loginerror=true")
.and()
.authorizeRequests()
.antMatchers("/login.html").permitAll()#放通登錄頁面
.anyRequest().authenticated();#其他請求都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字化轉(zhuǎn)型如何推動公路貨運行業(yè)效率變革的實證研究
- cka考試試題及答案
- b降c考試試題及答案
- 文旅融合視角下鄉(xiāng)村文化旅游產(chǎn)業(yè)創(chuàng)新體系構(gòu)建報告
- 2024廚師考試試題及答案
- 現(xiàn)代中醫(yī)兒科學(xué)
- 2025建筑行業(yè)項目部合同管理職位描述
- 2025租賃店鋪合同協(xié)議書示范文本
- 2025標準金融公司債權(quán)擔(dān)保借款合同范本
- 八年級下冊物理單元測試題(總匯)
- 護理科研選題與論文寫作
- 珠寶首飾加工工藝介紹課件
- 淘寶網(wǎng)-信息披露申請表
- 小微型客車租賃經(jīng)營備案表
- 教育培訓(xùn)機構(gòu)辦學(xué)許可證申請書(樣本)
- 瓷磚業(yè)務(wù)員提成方案
- 2022年一級注冊計量師案例分析真題
- “三級”安全安全教育記錄卡
- 愛蓮說-王崧舟
- 小微企業(yè)信用評級標準模板
- 車輛安全設(shè)施設(shè)備定期檢查臺賬
評論
0/150
提交評論