springBoot + KISSO实现单点登录

Posted hyhy904

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,不喜勿喷

以上是关于springBoot + KISSO实现单点登录的主要内容,如果未能解决你的问题,请参考以下文章

基于 Cookie 的 SSO 中间件 kisso

springboot vue组件写的个人博客系统

SpringBoot+Vue 前后端分离实现单点登录方案

SpringBoot+Vue 前后端分离实现单点登录方案

springboot+security+JWT实现单点登录

CAS-5.3单点登录/退出客户端搭建(Springboot)