zoukankan      html  css  js  c++  java
  • 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,不喜勿喷

  • 相关阅读:
    vue中用解构赋值的方法引入组件
    es6--promise
    VUE设置浏览器icon图标
    vue项目之购物车
    vue之组件通信
    hbulider 快捷键
    Redis详解(3)--5大数据类型
    Redis详解(1)--redis简介与安装
    Redis详解(2)--redis配置文件介绍
    Python面试综合--web相关
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11069818.html
Copyright © 2011-2022 走看看