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. 退出 ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |