亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

單點登錄失敗解決措施 單點登錄框架有哪些( 二 )


package com.jt.auth.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.security.core.GrantedAuthority;import org.springframework.security.core.authority.AuthorityUtils;import org.springframework.security.core.userdetails.User;import org.springframework.security.core.userdetails.UserDetails;import org.springframework.security.core.userdetails.UserDetailsService;import org.springframework.security.core.userdetails.UsernameNotFoundException;import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;import org.springframework.stereotype.Service;import java.util.List;/** * 登錄時用戶信息的獲取和封裝會在此對象進行實現(xiàn), * 在頁面上點擊登錄按鈕時,會調(diào)用這個對象的loadUserByUsername方法, * 頁面上輸入的用戶名會傳給這個方法的參數(shù) */@Servicepublic class UserDetailsServiceImpl implements UserDetailsService {@Autowiredprivate BCryptPasswordEncoder passwordEncoder;//UserDetails用戶封裝用戶信息(認證和權(quán)限信息)@Overridepublic UserDetails loadUserByUsername(String username)throws UsernameNotFoundException {//1.基于用戶名查詢用戶信息(用戶名,用戶狀態(tài),密碼,....)//Userinfo userinfo=userMapper.selectUserByUsername(username);String encodedPassword=passwordEncoder.encode("123456");//2.查詢用戶權(quán)限信息(后面會訪問數(shù)據(jù)庫)//這里先給幾個假數(shù)據(jù)List<GrantedAuthority> authorities =AuthorityUtils.createAuthorityList(//這里的權(quán)限信息先這么寫,后面講"sys:res:create", "sys:res:retrieve");//3.對用戶信息進行封裝return new User(username,encodedPassword,authorities);}}網(wǎng)關(guān)中登陸路由配置在網(wǎng)關(guān)配置文件中添加登錄路由配置,例如
- id: router02uri: lb://sca-auth#lb表示負載均衡,底層默認使用ribbon實現(xiàn)predicates: #定義請求規(guī)則(請求需要按照此規(guī)則設(shè)計)- Path=/auth/login/** #請求路徑設(shè)計filters:- StripPrefix=1 #轉(zhuǎn)發(fā)之前去掉path中第一層路徑基于Postman進行訪問測試啟動sca-gateway,sca-auth服務(wù),然后基于postman訪問網(wǎng)關(guān),執(zhí)行登錄測試,例如:
自定義登陸頁面在sca-resource-ui工程的static目錄中定義登陸頁面,例如:
<!doctype html><html lang="en"><head><!-- Required meta tags --><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- Bootstrap CSS --><link rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"><title>login</title></head><body><div class="container"id="app"><h3>Please Login</h3><form><div class="mb-3"><label for="usernameId" class="form-label">Username</label><input type="text" v-model="username" class="form-control" id="usernameId" aria-describedby="emailHelp"></div><div class="mb-3"><label for="passwordId" class="form-label">Password</label><input type="password" v-model="password" class="form-control" id="passwordId"></div><button type="button" @click="doLogin()" class="btn btn-primary">Submit</button></form></div><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script src="https://www.520longzhigu.com/uploads/allimg/220429/091205HL-3.jpg"></script><script>var vm=new Vue({el:"#app",//定義監(jiān)控點,vue底層會基于此監(jiān)控點在內(nèi)存中構(gòu)建dom樹data:{ //此對象中定義頁面上要操作的數(shù)據(jù)username:"",password:""},methods: {//此位置定義所有業(yè)務(wù)事件處理函數(shù)doLogin() {//1.定義urllet url = "http://localhost:9000/auth/login"http://2.定義參數(shù)let params = new URLSearchParams()params.append('username',this.username);params.append('password',this.password);//3.發(fā)送異步請求axios.post(url, params).then((response) => {debuggerlet result=response.data;console.log(result);if (result.state == 200) {alert("login ok");} else {alert(result.message);}})}}});</script></body></html>啟動sca-resource-ui服務(wù)后,進入登陸頁面,輸入用戶名jack,密碼123456進行登陸測試 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: