当前位置: 首页 > news >正文

单点登录相关

 

 

@Controller
public class HelloController {/*** 无需登录就可访问** @return*/@ResponseBody@GetMapping(value = "/hello")public String hello() {return "hello";}@GetMapping(value = "/employees")public String employees(Model model, HttpSession session, @RequestParam(value = "token", required = false) String token) {if (!StringUtils.isEmpty(token)) {RestTemplate restTemplate=new RestTemplate();ResponseEntity<String> forEntity = restTemplate.getForEntity("http://sso.mroldx.cn:8080/userinfo?token=" + token, String.class);String body = forEntity.getBody();session.setAttribute("loginUser", body);}Object loginUser = session.getAttribute("loginUser");if (loginUser == null) {return "redirect:" + "http://sso.mroldx.cn:8080/login.html"+"?redirect_url=http://localhost:8081/employees";} else {List<String> emps = new ArrayList<>();emps.add("张三");emps.add("李四");model.addAttribute("emps", emps);return "employees";}}}

  

@Controller
public class LoginController {@AutowiredStringRedisTemplate redisTemplate;@ResponseBody@GetMapping("/userinfo")public String userinfo(@RequestParam(value = "token") String token) {String s = redisTemplate.opsForValue().get(token);return s;}@GetMapping("/login.html")public String loginPage(@RequestParam("redirect_url") String url, Model model, @CookieValue(value = "sso_token", required = false) String sso_token) {if (!StringUtils.isEmpty(sso_token)) {return "redirect:" + url + "?token=" + sso_token;}model.addAttribute("url", url);return "login";}@PostMapping(value = "/doLogin")public String doLogin(@RequestParam("username") String username, @RequestParam("password") String password, @RequestParam("redirect_url") String url, HttpServletResponse response) {//登录成功跳转,跳回到登录页if (!StringUtils.isEmpty(username) && !StringUtils.isEmpty(password)) {String uuid = UUID.randomUUID().toString().replace("_", "");redisTemplate.opsForValue().set(uuid, username);Cookie sso_token = new Cookie("sso_token", uuid);response.addCookie(sso_token);return "redirect:" + url + "?token=" + uuid;}return "login";}}

  

 

http://www.jsqmd.com/news/34425/

相关文章:

  • 在Ubuntu上配置Nginx实现开机自启功能
  • 详细介绍:从零开始的C++学习生活 5:内存管理和模板初阶
  • 阿里云的边缘加速ESA
  • 2025年广场喷泉订做厂家权威推荐榜单:喷泉/假山喷泉/音乐喷泉源头厂家精选
  • Java映射操作:深入Map.getOrDefault与MapUtils方法
  • 扫描线算法 矩形面积并 线段树与扫描线结合
  • 改善深层神经网络:第一周优化算法(二)——Mini-batch 梯度下降汇报总结
  • 有度即时通重拳打击电诈行为,守护企业信息安全
  • 基于pytorch卷积神经网络的汉字识别系统
  • 制图-学习日志
  • 2025年热门成人自考机构推荐
  • 实用指南:手写MyBatis第95弹:调试追踪MyBatis SQL执行流程的终极指南
  • SOCKS5代理:通用性与协议覆盖
  • 口碑好的成人自考机构2025年推荐榜单
  • 2025年国内成人自考机构口碑推荐排行榜单:选择指南与深度解析
  • 2025 年 11 月除锈剂厂家推荐排行榜,钢铁除锈剂,金属除锈剂,钢材除锈剂,不锈钢除锈剂,螺丝除锈剂,弹簧除锈剂,铝型材除锈剂公司推荐
  • CANopen转Profinet是一种构建于控制局域网设备之上的协议网关
  • 2025 年 11 月喷头漏墨维修厂家推荐排行榜,理光喷头漏墨,京瓷喷头漏墨,精工喷头漏墨,喷绘机喷头漏墨维修公司推荐
  • Cohen‘s Kappa系数:衡量分类一致性的黄金标准及其在NLP中的应用 - 实践
  • 2025年国内成人自考机构口碑推荐榜单:如何选择靠谱的学历提升平台
  • 2025年11月星光喷头厂家推荐排行榜:专业选购与维护指南
  • Spring Cloud Alibaba + Sentinel
  • 德鲁克管理哲学:管理是知行统一的实践创新 - 详解
  • 2025 年 11 月食堂承包公司推荐排行榜,食堂承包商,食堂承包方案,大型食堂承包,专业餐饮服务与高效运营管理口碑之选
  • 2025年双组份喷涂泵定做厂家权威推荐榜单:双组份喷漆机专用喷枪/无气喷涂机/高压无气喷涂泵专用喷枪源头厂家精选
  • 智能充气泵方案:充气泵电机怎么选?怎么适配
  • 智能家居产品品牌推荐排行2025:权威榜单揭晓
  • 2025 年 11 月电弧故障保护器厂家推荐排行榜,断路器/检测断路器,并联/串联电弧故障保护器,防火限流式保护器,故障电弧探测器公司推荐
  • 2025 年 11 月食堂送菜平台推荐排行榜,送菜上门,食堂送菜公司,饭堂送菜平台,专业高效与新鲜直达服务口碑之选
  • 小 E 的传奇一生