加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

SpringBoot实战(十二)之集成kisso

发布时间:2020-12-15 07:12:56 所属栏目:Java 来源:网络整理
导读:关于kisso介绍,大家可以参考官方文档或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html ? 一、导入maven依赖 project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati

关于kisso介绍,大家可以参考官方文档或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html

?

一、导入maven依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    modelVersion>4.0.0</>

    groupId>com.baomidouartifactId>kisso_springbootversion>0.0.1-SNAPSHOTpackaging>jarnameurl>http://maven.apache.orgparent>
        >org.springframework.boot>spring-boot-starter-parent>1.5.6.RELEASEdependenciesdependency>
            >spring-boot-starter-web>kisso>3.7.0>
project>

?

二、编写启动类

package com.baomidou.kisso;

import org.slf4j.Logger;
 org.slf4j.LoggerFactory;
 org.springframework.boot.SpringApplication;
 org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    private static final Logger logger = LoggerFactory.getLogger(Application.);

    /**
     * <p>
     * 1、启动执行<br>
     * 2、访问 http://localhost:8080/token 提示登录<br>
     * 3、登录 访问 :8080/login 成功再去 2 步骤查看<br>
     * </p>
     * <p>
     * 退出登录::8080/logout
     * </p>
     */
    void main(String[] args) {
        SpringApplication application = new SpringApplication(Application.);
        application.run(args);
        logger.info("kisso start!");
    }

}

?

三、编写Controller

 javax.servlet.http.HttpServletRequest;
 javax.servlet.http.HttpServletResponse;

 org.springframework.beans.factory.annotation.Autowired;
 org.springframework.stereotype.Controller;
 org.springframework.web.bind.annotation.RequestMapping;
 org.springframework.web.bind.annotation.ResponseBody;

 com.baomidou.kisso.security.token.SSOToken;

@Controller
 SampleController {

    @Autowired
    protected HttpServletRequest request;
    @Autowired
     HttpServletResponse response;

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

    // 授权登录
    @ResponseBody
    @RequestMapping("/login" String login() {
         设置登录 COOKIE
        SSOHelper.setCookie(request,response,SSOToken.create().setIp(request).setId(1000).setIssuer("kisso"),false);
        return "login success!" 查看登录信息
    @ResponseBody
    @RequestMapping("/token" 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" String logout() {
        SSOHelper.clearLogin(request,response);
        return "Logout Kisso!";
    }
}

?

四、编写WebConfig类

 org.springframework.context.annotation.Configuration;
 org.springframework.web.bind.annotation.ControllerAdvice;
 org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

 com.baomidou.kisso.web.interceptor.SSOSpringInterceptor;


@ControllerAdvice
@Configuration
class WebConfig extends WebMvcConfigurerAdapter {

    @Override
     addInterceptors(InterceptorRegistry registry) {
         kisso 拦截器配置
        registry.addInterceptor(new SSOSpringInterceptor()).addPathPatterns("/**").excludePathPatterns("/login");
    }
}

?

五、编写application.yml配置文件

server:
    port: 8080

# 单点信息配置,全部可无
kisso:
  config:
    signkey: C691d971EJ3H376G81   # 对称签名密钥
    cookieName: kisso             # COOKIE 名称

?

六、启动项目并测试

按照如下流程测试:

1.未登陆时直接访问

2.登陆

3.登陆后直接访问

4. 退出

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读