springBoot + KISSO實現單點登錄


1:創建一個maven項目 kisso,然后再創建二個子項目都是springboot 2:二個boot項目的pom.xml都是一樣的

就這三個依賴,
3:接下來就是碼代碼了,首先在(在我這里)springboot_kisso項目中的配置文件,內容如下

沒錯 就這幾行,然后創建二個類
SampleController我就直接復制上來了

@Controller public class SampleController {

@Autowired
protected HttpServletRequest request;
@Resource
protected HttpServletResponse response;

@ResponseBody
@RequestMapping("/")
public String home() {
return "Hello Kisso!";
}

// 授權登錄
@ResponseBody
@RequestMapping("/login")
public String login() {
// 設置登錄 COOKIE
SSOHelper.setCookie(request, response, SSOToken.create().setIp(request).setId(1000).setIssuer("kisso"), false);
return "login success!";
}

// 查看登錄信息
@ResponseBody
@RequestMapping("/token")
public String token() {
String msg = "暫未登錄";
SSOToken ssoToken = SSOHelper.attrToken(request);
if (null != ssoToken) {
msg = "登錄信息 ip=" + ssoToken.getIp();
msg += ", id=" + ssoToken.getId();
msg += ", issuer=" + ssoToken.getIssuer();
}
return msg;
}

// 退出登錄
@ResponseBody
@RequestMapping("/logout")
public String logout() {
SSOHelper.clearLogin(request, response);
return "Logout Kisso!";
}


spirngboot_kisso項目配置就結束了
這里你也可以試試啟動這一個項目,kisso_1項目暫時還不用編寫
啟動項目之后,我這里端口是8080, 瀏覽器訪問 localhost:8080/token就會出現如下界面
復制代碼
這里提示需要你登錄 然后你打開另外一個瀏覽器窗口訪問 localhost:8080/login
就會顯示登錄成功,然后再返回到訪問 localhost:8080/token的界面,刷新
就會顯示登錄成功了
接下來創建springboot項目kisso_1,pom.xml和springboot_kisso是一樣的,配置文件

其實也就是改了下端口,項目結構如下
除了啟動類之外有二個類 WebConfig.class和spingboot_kisso的WebConfig.class是一樣的,復制過來就行,然后在BaseController類里面寫個方法
全部代碼就這樣
然后啟動二個項目

首先訪問 kisso_1中的index方法 建議先清除一下瀏覽器緩存

然后訪問springboot_kisso的login方法 localhost:8080/login 顯示登錄成功 然后再返回刷新剛剛訪問index頁面
碼雲上給的就是一個boot項目,但是現在需要登錄返回的是一個json字符串,工作當中應該返回登錄頁面,本小白自己試驗了二個項目間的SSO,不喜勿噴


免責聲明!

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



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