Springboot注解,SpringBoot實戰(十二)之集成kisso

 2023-11-19 阅读 54 评论 0

摘要:關于kisso介紹,大家可以參考官方文檔或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html 一、導入maven依賴 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion&g

關于kisso介紹,大家可以參考官方文檔或者是我的博客:https://www.cnblogs.com/youcong/p/9794735.html

一、導入maven依賴

     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion><groupId>com.baomidou</groupId>
<artifactId>kisso_springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging><name>kisso_springboot</name>
<url>http://maven.apache.org</url>
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.6.RELEASE</version>
</parent>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>kisso</artifactId><version>3.7.0</version></dependency>
</dependencies>

Springboot注解,二、編寫啟動類

package com.baomidou.kisso;

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

@SpringBootApplication
public class Application {

private static final Logger logger = LoggerFactory.getLogger(Application.class);/*** <p>* 1、啟動執行<br>* 2、訪問 http://localhost:8080/token 提示登錄<br>* 3、登錄 訪問 http://localhost:8080/login 成功再去 2 步驟查看<br>* </p>* <p>* 退出登錄:http://localhost:8080/logout* </p>*/
public static void main(String[] args) {SpringApplication application = new SpringApplication(Application.class);application.run(args);logger.info("kisso start!");
}

}

Spring boot,三、編寫Controller

package com.baomidou.kisso;

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

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

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

SpringBoot項目、@Controller
public class SampleController {

@Autowired
protected HttpServletRequest request;
@Autowired
protected HttpServletResponse response;@ResponseBody
@RequestMapping("/")
public String home() {return "Hello Kisso!";
}// 授權登錄
@ResponseBody
@RequestMapping("/login")
public String login() {// 設置登錄 COOKIESSOHelper.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!";
}

}

四、編寫WebConfig類

package com.baomidou.kisso;

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

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

@ControllerAdvice
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

@Override
public void 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.登陸后直接訪問

  1. 退出

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/185798.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息