单点登录-同域名 小灰灰 2022-06-13 05:54 146阅读 0赞 该篇文章基于cookie实现,局限性很大,仅供学习,实际项目不要这么用。 1 首先新建项目一,项目结构如下图 ![Center][] 2 接着将该项目端口设为8081; 3 接着编写一个项目1主页 4 接着编写主页控制器,代码如下 package com.chenyulin.controller; import com.chenyulin.util.SSOCheck; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; /** * Created by Administrator on 2017/6/29. */ @Controller public class Demo1Controller { private String gotoUrl; @GetMapping("/demo1") public ModelAndView main(HttpServletRequest request){ if (SSOCheck.checkCookie(request)) { ModelAndView m1 = new ModelAndView("Demo1"); return m1; } //failed to login add "gotoUrl" gotoUrl = "/demo1"; ModelAndView m2 = new ModelAndView("redirect:http://127.0.0.1:8080/intoLogin"); m2.addObject("gotoUrl", gotoUrl); return m2; } } 工具类代码如下 package com.chenyulin.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; /** * Created by Administrator on 2017/6/29. */ public class SSOCheck { public static boolean checkCookie(HttpServletRequest request) { Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals("ssocookie")&&cookie.getValue().equals("sso")) { return true; } } } return false; } } 5 然后是认证中心 ![Center 1][] 控制器代码 package com.chenyulin.controller; import com.chenyulin.util.SSOCheck; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndViewDefiningException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; /** * Created by Administrator on 2017/6/29. */ @Controller public class LoginController { @GetMapping("/intoLogin") private ModelAndView intoLogin(@RequestParam String gotoUrl) { ModelAndView m=new ModelAndView("login"); m.addObject("gotoUrl", gotoUrl); return m; } @PostMapping("login") private String doLogin(@RequestParam String username, @RequestParam String password, @RequestParam String gotoUrl, HttpServletResponse response) { boolean ok = SSOCheck.checkLogin(username, password); if (ok) { Cookie cookie = new Cookie("ssocookie", "sso"); cookie.setPath("/"); response.addCookie(cookie); return "redirect:http://127.0.0.1:8081"+gotoUrl; } return null; } } 工具类代码 package com.chenyulin.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; /** * Created by Administrator on 2017/6/29. */ public class SSOCheck { private static final String USERNAME = "user"; private static final String PASSWORD = "123"; public static boolean checkLogin(String username, String password) { if (username != null && password != null) { if (username.equals(USERNAME) && password.equals(PASSWORD)) { return true; } } return false; } } 6 项目2,将项目2的端口改为8082,其它如同项目一,简单,略去 同时启动两项目和认证中心,输入:127.0.0.1:8081/demo1启动进入项目1登录页;127.0.0.1:8082/demo2启动进入项目2登录页;任意登录一个即可实现来回穿梭。 下面附上源码下载地址:http://download.csdn.net/detail/qwqw3333333/9884753 本人初涉,如有不足请指正,万分感谢qq:569265915 [Center]: /images/20220613/80c165f225174c4989d1e1d9e7280643.png [Center 1]: /images/20220613/ad4bc81d477448a1bc492a2558401ba3.png
相关 单点登录 官网 https://apereo.github.io/cas/4.2.x/planning/Architecture.html demo http://www.i 我不是女神ヾ/ 2022年11月03日 10:45/ 0 赞/ 222 阅读
相关 单点登录 业务需要,正在研究. 基本有以下三种方案 1.集中管理Session. 实现很简单,但缺点是 每次页面刷新都需要访问一次或两次 Session管理服务器, 水深无声/ 2022年09月19日 10:55/ 0 赞/ 228 阅读
相关 单点登录 1:什么事单点登录: SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主 男娘i/ 2022年07月13日 14:29/ 0 赞/ 218 阅读
相关 单点登录-同域名 该篇文章基于cookie实现,局限性很大,仅供学习,实际项目不要这么用。 1 首先新建项目一,项目结构如下图 ![Center][] 2 接着将该项目端口设为 小灰灰/ 2022年06月13日 05:54/ 0 赞/ 147 阅读
相关 单点登录 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务 港控/mmm°/ 2022年06月11日 00:55/ 0 赞/ 232 阅读
相关 单点登录 项目分为三个模块 server client2 client1 server提供的接口 /user /tol 深藏阁楼爱情的钟/ 2022年05月24日 04:26/ 0 赞/ 266 阅读
相关 单点登录 1.3 CAS服务端部署 Cas服务端其实就是一个war包。 在资源\\cas\\source\\cas-server-4.0.0-release\\cas-serve 梦里梦外;/ 2022年05月16日 08:04/ 0 赞/ 286 阅读
相关 单点登录 初识单点登录 最初接触到单点登录要追溯到3年多以前了,那时候看到的只是passport,当时要做全国所有社区的登录,然后就照着内部文档写了代码,然后就接入了(这里要提一句 谁借莪1个温暖的怀抱¢/ 2022年05月13日 14:04/ 0 赞/ 266 阅读
相关 单点登录 以Cookie作为凭证媒介 最简单的单点登录实现方式,是使用cookie作为媒介,存放用户凭证。 用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用 £神魔★判官ぃ/ 2022年04月23日 13:18/ 0 赞/ 300 阅读
相关 单点登录 什么是单点登录? 单点登录(Single Sign On)说的简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其它系统中登录。也就是用户的一次登录能得到其它所有 布满荆棘的人生/ 2021年11月11日 04:10/ 0 赞/ 445 阅读
还没有评论,来说两句吧...