springboot中怎么利用vue实现sso单点登录

这期内容当中小编将会给大家带来有关springboot中怎么利用vue实现sso单点登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联是专业的无为网站建设公司,无为接单;提供成都网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行无为网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

开发工具: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;/** * @author xichengxml * @date 2019/2/13 16:56 */@Configurationpublic 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;/** * @author xichengxml * @date 2019/2/13 16:19 * 登录校验工具类 */public class LoginCheck {  /** 用户名 */  private static final String USERNAME = "uname";  /** 密码 */  private static final String PASSWORD = "pwd";  /** cookie键 */  public static final String COOKIE_KEY = "sso";  /** cookie值 */  public static final String COOKIE_VAL = "ssocookie";  /**   * 校验用户名和密码   * @param userName 登录用户名   * @param password 登录密码   * @return 成功返回true; 失败返回false   */  public static boolean checkLogin(String userName, String password) {    return USERNAME.equals(userName) && PASSWORD.equals(password);  }  /**   * 校验cookie   * @param request   * @return   */  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;/** * @author xichengxml * @date 2019/2/13 16:31 */@Controllerpublic class LoginController {  /**   * 登录成功后保存cookie在域下,返回登录成功页   * @param uname   * @param pwd   * @param response   * @return   */  @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;/** * @author xichengxml * @date 2019/2/13 17:53 */@Controllerpublic class SameOriginController {  /**   * cookie存在,登录成功;否则返回登录页   * @param request   * @return   */  @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!

上述就是小编为大家分享的springboot中怎么利用vue实现sso单点登录了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


分享名称:springboot中怎么利用vue实现sso单点登录
本文URL:http://lszwz.com/article/gjiogg.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款