關于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.登陸后直接訪問
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态