深圳商城网站建设公司吉林省建设工程造价信息网

news/2025/10/2 3:34:51/文章来源:
深圳商城网站建设公司,吉林省建设工程造价信息网,百度关键词多少钱一个月,个人网站是商业的吗近期有个WEB项目需要改造。业主找第三方搞了一个集成站点#xff0c;将多个应用站点的链接集中放在一个导航页面。由于进入集成站点时已经登录过了#xff0c;业主要求点击这些应用站点的链接时就不必再登录。 以前做过类似项目#xff0c;用的是单点登录。大家都用同一个登…近期有个WEB项目需要改造。业主找第三方搞了一个集成站点将多个应用站点的链接集中放在一个导航页面。由于进入集成站点时已经登录过了业主要求点击这些应用站点的链接时就不必再登录。 以前做过类似项目用的是单点登录。大家都用同一个登录系统一次登录到处同行不亦快哉。不过也有一些缺点一是单点登录比较复杂不好搞。之前我们用过一个开源的单点登录系统cas代码一大堆部署也很复杂然后每个使用它的应用都要有个客户端总之非常复杂。出了问题也不知道是哪里的毛病。最常见的现象就是多次重定向用户登录信息在客户端和服务器之间无限被踢皮球。所以每次想到要用这个东东都心烦意乱甚至吓得面无人色。详见拙作《21世纪应用开源单点登录项目CAS之集大成者》 这还不是最坏的。最大的问题是使用单点登录势必要维护共同的用户信息要么是所有系统都使用同一个用户表要么是大家同步用户信息。不同的应用系统通常由不同的公司开发每个都有自己的设计现在要集成在一起改造工作量可想而知。有些年代久远早就过维护期想改造都不可能。 一、自动登录方案 但这次没有使用单点登录。第三方公司给出了一个方案 1在集成站点的导航页面点击应用站点链接时系统分配一个token 2应用站点可以访问集成站点的接口对token进行验证并获取对应的用户信息。这些用户信息是集成站点的应用系统不一定有 3token验证通过后应用站点就可以自己决定是否让他登录本系统了。 这种思想有点类似auth。auth是第三方验证通过后就自动放行了而这里的方案是接下来还要应用系统自己做一些处理即如何在本系统里放行。 这个方案的好处是不一定要拥有相同的用户信息。如果要求不严格应用系统验证带过来的token后就可以用一个默认的账号自动登录如果非要是同一个账号那么因为验证token的时候会返回用户信息应用系统完全可以之同步到自己的库里。所以这个方案比较灵活应用系统的主动权较大修改工作量比较小难度也较小。人家有高手啊。 二、应用系统的实现 我们系统采用java开发安全框架是Spring Security。我的思路是 1访问本应用系统时检查有无带上第三方token有则执行第2步无则转向本系统的登录页面 2验证第三方token合法则系统自动登录否则转向本系统的登录页面 关键是如何自动登录。 我从前端的登录页面按图索骥发现登录按钮点击后会提交到后端的“/auth/token”。但是我找来找去都找不到对应的代码。后端用的这个框架我不熟悉一问才知/auth/token是Spring Security自己的实现。这个接口访问后会返回一个json对象里面有个关键元素叫“access_token”我们前端就是凭这个来认定是否已经登录了本系统的。 很自然地我要在系统里实现自动登录那我应该创建并返回这个access_token给前端。问题是这个创建过程是黑箱我搞来搞去都生成不了类似的令牌。最后放弃了何必自己去搞系统模拟前端提交访问一下自己这个/auth/token不就好了吗代码如下 GetMapping(value /autoLogin)public String autoLogin(RequestParam(valuetoken3) String token3) {return autoLoginService.autoLogin(token3);}Overridepublic String autoLogin(String token3) {//token3第三方tokenString re null;if(checkToken3(token3)) {re login();} else {re token未经授权;}return re;}private boolean checkToken3(String token) {boolean ok false;//checkUrl验证第三方token网址String url String.format(%s?token%s, checkUrl,token);try {String re HttpUtils.get(url);JSONObject jobj JSONObject.parseObject(re);ok jobj.get(code).toString().equals(200);} catch (Exception ex) {System.err.println(ex.getMessage());}return ok;}private String login() {String re null;//参照前端提交的参数MapString, String params new HashMap();params.put(tenantCode, 10001);params.put(username, account);params.put(password, password);params.put(type, account);params.put(scope, ui);params.put(grant_type, password);params.put(client_id, browser);MapString, String heads new HashMap();heads.put(Authorization, 巴拉巴拉巴拉);heads.put(Content-Type, application/x-www-form-urlencoded);try {//提交给自己的接口登录并返回access_token等。HttpUtils是自己写的静态类re HttpUtils.post(String.format(http://localhost:%s/api/uaa/oauth/token, port), params, heads);} catch (Exception e) {re e.getMessage();}return re;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924529.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苏州网站建设排名wordpress修改页面组件

文章目录 前言一、提供者与消费者1. 服务调用关系 二、远程调用的问题三、eureka 原理分析1. eureka 的作用 四、Eureka 案例1. 搭建 eureka 服务1. 服务注册1.1 注册 user-service1.2 启动 user-service3. order-service 完成服务注册 3. 服务发现1. 在 order-service 完成服务…

临沂住房和城乡建设厅网站菏泽外贸网站建设公司

10. 灾后重建 Pear市一共有N&#xff08;<50000&#xff09;个居民点&#xff0c;居民点之间有M&#xff08;<200000&#xff09;条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近&#xff0c;一次严重的地震毁坏了全部M条道路。 震后…

做网站域名的成本中小企业网站建设行情

必须要5.7以上版本才能使用 写在开头 mysql json 的功能很强大,只是用来当一个储存数据的字段 就没什么意义了。 使用proto做交互的话,只要JSON 写得好 用proro.Unmarshal() 就可以很方便的转换类型 可以精简很多代码 JSON path 是以 $ 开头,之后就是JSON的层级使用。$ $[0]…

网站建设与管理书籍徐州库云平台

本文解决的问题&#xff1a;双系统装完后需要删除ubuntu的分区&#xff0c;但是EFI系统分区无法删除。 第一步&#xff1a;cmd中输入命令 diskpart 并回车&#xff0c;如图中①&#xff1b; 第二步&#xff1a;在弹出窗口②中依次输入如下命令即可删除EFI分区&#xff1b; /…

网站后台登录界面惠州外贸网站建设公司

参考资料&#xff1a;活用pandas库 1、字符串格式化 &#xff08;1&#xff09;格式化字符串 要格式化字符串&#xff0c;需要编写一个带有特殊占位符的字符串&#xff0c;并在字符串上调用format方法向占位符插入值。 # 案例1 varflesh wound s"Its just a {}" p…

异或运算的一个小等式

异或运算的一个小等式昨天打CF时题目想不出来,发现原来是一个常用的等式不会用,现在来记录一下$$ x+y=x\oplus y+2(x & y)$$ 题目来源C - XOR and Triangle 貌似Problem - 2085C - Codeforces这个题目也会用到这…

企业网站怎么建设公司亚马逊店铺怎么注册流程

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 响应式渲染 - 列表布局和v-html 目录 列表布局 简单渲染列表 显示索引值 点击变色 V-html 作用 注意 采用策略 应用 总结 列表布局 简单渲染列表 Data中设置状态&#xff0c;是一个数组格式的默认信息。 然后…

网站推广费用价格网上暴利赚钱项目

项目场景&#xff1a; 在电商、支付等领域&#xff0c;往往会有这样的场景&#xff0c;用户下单后放弃支付了&#xff0c;那这笔订单会在指定的时间段后进行关闭操作&#xff0c;细心的你一定发现了像某宝、某东都有这样的逻辑&#xff0c;而且时间很准确&#xff0c;误差在1s内…

河北住房和城乡建设局网站东莞网站设计制作公司

今日已办 PPT制作 答辩流程 概述&#xff1a;对项目背景、架构进行介绍&#xff08;体现我们分组的区别和需求&#xff09;人员&#xff1a;小组成员进行简短的自我介绍和在项目中的定位&#xff0c;分工进展&#xff1a;对项目进展介绍&#xff0c;其中a、b两组的区别和工作…

AI元人文:“现实与价值”的生态——走向一种基于博弈与演化的协同智能

AI元人文:“现实与价值”的生态——走向一种基于博弈与演化的协同智能 序言:从“规训”到“对话”的范式革命 我们正站在智能演进的历史节点上。传统的人工智能伦理致力于一种“价值规训”范式:试图将一套预设的、通…

制作个人网站素材优秀企业网站首页

1. 地下管线&#xff1a;城市“生命线” 地下管线是城市的重要基础设施&#xff0c;包括供水、排水、燃气、热力、电力、通信等管线&#xff0c;它们如同城市的“生命线”&#xff0c;支撑着城市的正常运转。如果缺乏完整和准确的地下管线信息&#xff0c;施工破坏地下管线的事…

Ai元人文:最后的客观与乐观

岐金兰: 其实我是客观而乐观的, 首从空白金兰契,到区域金兰契,多元文化金兰契。 这个价值表征困境,是全人类签订金兰契,不是我这个构想者能只手遮天的,最后,我还可能不用说“价值原语博弈”了,以后直接说,价…

社交网站建设码旅游网站建设研究综述

腾讯云轻量应用服务器地域如何选择&#xff1f;地域就近选择&#xff0c;北方选北京地域、南方选广州地域&#xff0c;华东地区选上海地域。广州上海北京地域有什么区别&#xff1f;哪个好&#xff1f;区别就是城市地理位置不同&#xff0c;其他的差不多&#xff0c;不区分好坏…

如何建设属于自己的网站做网站需要懂哪些技能

得益于互联网基建的成熟及快速发展的电子商贸经济&#xff0c;我国线上零售市场快速增长&#xff0c;2022年全国线上零售额达到13.79万亿元&#xff0c;占社会消费品零售总额的比重为27.2%&#xff0c;也就是说每卖出三件零售商品&#xff0c;就有一件是从线上销售。中大型零售…

东莞网站建设公司百推网站开发要什么样的环境

在 2.6 内核中&#xff0c;随处可以见到 likely() 和 unlikely() 的身影&#xff0c;那么为什么要用它们&#xff1f;它们之间有什么区别&#xff1f; 首先要明确&#xff1a; if(likely(value)) 等价于 if(value) if(unlikely(value)) 也等价于 if(value) 也就是说 likely()…

招聘网站上找在家做一个网站有哪些优势

基于图像处理的视觉应用1 基于机器学习的视觉应用&#xff0c; 又名&#xff1a;机器视觉之从调包侠到底层开发&#xff08;第3天&#xff09; PS:这个系列是准备做从Python一些接口应用开发&#xff0c;openCV基础使用场景原理讲解&#xff0c;做一些demo案例讲解&#xff0…

中小型网站建设讯息柯林建站程序

前言 Redis 配置文件信息中文翻译版&#xff0c;方便大家阅读和理解对应参数信息及配置参数信息 # Redis configuration file example# Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so forth: # 注意:当…

html5浅蓝色网站设计公司dede模板有道云笔记WordPress

typeof 其中数组、对象、null都会被判断为object&#xff0c;其他判断都正确typeof返回的类型都是字符串形式 instanceof instanceof &#xff1a;用于检测一个实例是否属于某个类&#xff0c;通过验证当前类的原型 prototype 是否出现在实例的原型链 __proto__ 上。它不能检测…

公司网站推广方案模板设计工资一般多少

1、前言 docker在当前运用的越来广泛&#xff0c;很多应用或者很多中间软件都有很多docker镜像资源&#xff0c;运行docker run 启动镜像资源即可应用。但是很多应用或者中间件有很多配置参数。这些参数在运用过程怎么设置给docker 容器呢&#xff1f;下面介绍几种方式 2 、do…

网站上的淘客组件是怎样做的网络营销推广方法十种

Flask 框架提供了强大的 Session 模块组件&#xff0c;为 Web 应用实现用户注册与登录系统提供了方便的机制。结合 Flask-WTF 表单组件&#xff0c;我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面&#xff0c;使这一功能能够直接应用到我们的项目中。本文将深入探…