SpringBoot实战(十二)之集成kisso

简介:

关于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>

二、编写启动类

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!");
}

}

三、编写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;

@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() {
    // 设置登录 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!";
}

}

四、编写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. 退出
目录
相关文章
|
11月前
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
726 101
|
缓存 监控 安全
通义大模型与现有企业系统集成实战《CRM案例分析与安全最佳实践》
本文档详细介绍了基于通义大模型的CRM系统集成架构设计与优化实践。涵盖混合部署架构演进(新增向量缓存、双通道同步)、性能基准测试对比、客户意图分析模块、商机预测系统等核心功能实现。同时,深入探讨了安全防护体系、三级缓存架构、请求批处理优化及故障处理机制,并展示了实时客户画像生成和动态提示词工程。通过实施,显著提升客服响应速度(425%)、商机识别准确率(37%)及客户满意度(15%)。最后,规划了技术演进路线图,从单点集成迈向自主优化阶段,推动业务效率与价值持续增长。
691 8
|
11月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
1611 12
|
前端开发
SpringBoot2.3.1集成Knife4j接口文档
SpringBoot2.3.1集成Knife4j接口文档
1302 44
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
833 3
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
930 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
1049 0
第07课:Spring Boot集成Thymeleaf模板引擎
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
1131 2
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
616 2

热门文章

最新文章