栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用springboot结合vue实现sso单点登录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用springboot结合vue实现sso单点登录

本文实例为大家分享了springboot vue实现sso单点登录的具体代码,供大家参考,具体内容如下

项目结构:

开发工具:idea, maven3
静态文件下载地址

1.pom文件:



 4.0.0
 
 org.springframework.boot
 spring-boot-starter-parent
 2.1.2.RELEASE
  
 
 com.xicheng
 ssodemo
 0.0.1-SNAPSHOT
 ssodemo
 Demo project for Spring Boot
 
 1.8
 
 
 
  org.springframework.boot
  spring-boot-starter-web
 
 
  org.springframework.boot
  spring-boot-starter-thymeleaf
 
 
  org.springframework.boot
  spring-boot-starter-test
  test
 
 
 
 
  
  org.springframework.boot
  spring-boot-maven-plugin
  
 
 

2.MVC页面跳转配置类,如果请求直接跳转页面,采用该配置可以减少controller中代码的编写

package com.xicheng.ssodemo.common;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class SpringMvcConfig implements WebMvcConfigurer {

  @Override
  public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("login").setViewName("login");
    registry.addViewController("success").setViewName("success");
    registry.addViewController("error").setViewName("error");
  }
}

3.核心校验类编写

package com.xicheng.ssodemo.common;

import javax.servlet.http.cookie;
import javax.servlet.http.HttpServletRequest;


public class LoginCheck {

  
  private static final String USERNAME = "uname";
  
  private static final String PASSWORD = "pwd";
  
  public static final String cookie_KEY = "sso";
  
  public static final String cookie_VAL = "ssocookie";

  
  public static boolean checkLogin(String userName, String password) {
    return USERNAME.equals(userName) && PASSWORD.equals(password);
  }

  
  public static boolean checkcookie(HttpServletRequest request) {
    cookie[] cookies = request.getcookies();
    if (cookies != null && cookies.length != 0) {
      for (cookie cookie : cookies) {
 if (cookie_KEY.equals(cookie.getName()) && cookie_VAL.equals(cookie.getValue())) {
   return true;
 }
      }
    }
    return false;
  }
}

4.核心登录controller编写

package com.xicheng.ssodemo.controller;

import com.xicheng.ssodemo.common.LoginCheck;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.cookie;
import javax.servlet.http.HttpServletResponse;


@Controller
public class LoginController {

  
  @RequestMapping("/do-login")
  public String doLogin(String uname, String pwd, HttpServletResponse response) {
    if (LoginCheck.checkLogin(uname, pwd)) {
      cookie cookie = new cookie(LoginCheck.cookie_KEY, LoginCheck.cookie_VAL);
      cookie.setPath("/");
      response.addcookie(cookie);
      return "success";
    }
    return "error";
  }

}

5.登录controller编写

package com.xicheng.ssodemo.controller;

import com.xicheng.ssodemo.common.LoginCheck;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;


@Controller
public class SameOriginController {

  
  @RequestMapping("/login01")
  public String demo01(HttpServletRequest request) {
    return LoginCheck.checkcookie(request) ? "success" : "login";
  }

  @RequestMapping("/login02")
  public String demo02(HttpServletRequest request) {
    return LoginCheck.checkcookie(request) ? "success" : "login";
  }

}

6.登录页面及成功失败页面编写





  
  登录
  
  
  
  


  
    
    
    登录
  

  





  
  成功页面


  This is success page!





  
  错误页面


  This is error page!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/137800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号