1.小明(浏览器)去食堂找阿姨(应用系统aaa后端) 打饭
【访问aaa网页】

2.阿姨说你先去服务台(cas) 买饭票(ticket)
【重定向到cas服务,统一登陆平台,输入用户名密码登陆】

3.服务台获取到用户名密码后,打电话问学校管理处(集团的cas) 是不是有这个人【login Auth如有返回casSsoCookie】, 如果有让学校管理处把这个人的信息传过来【带着casSsoCookie请求getUserInfo】

4.服务台拿到了信息之后便
4.1给小明把这次跟集团cas的会话记录了下来
【setCookie(CAS_SSO_COOKIE:casSsoCookie, .xxxx.com.cn)】

4.2并把用户信息加密存到柜子里【redis缓存token和ticket】
【token-tokenId:userInfo加密】半小时【ticket−{tokenId} :userInfo加密】半小时 【ticket-tokenId:userInfo加密】半小时【ticket−{ticketId} :${tokenId} 】一分钟

4.3同时给小明把这次跟服务台的对话也记录下来
【setCookie(ARES_CAS_COOKIE:${tokenId} ,icore-aaa-sh-stg.xxxx.com.cn)】

5.服务台给了小明一个饭票【${ticketId} 】作为凭证, 小明拿了饭票回来找食堂阿姨
【用户登录成功后跳转至带有ticket的回跳地址, 也就是应用系统aaa】

6.小明带着饭票去找阿姨
【小明前端再次调用login接口,带上ticket】

7.阿姨拿着饭票去服务台确认是有效的饭票
【阿姨aaa后台请求cas validateTicket, 对前端透明】

8.服务台把柜子里锁着的用户信息给了阿姨
【redis中根据ticketId获取{ticketId} 获取ticketId获取{tokenId} ,获取userInfo加密, 删除ticket】

9.阿姨回来把饭打给了小明
【aaa后台登陆成功并返回用户信息】

#mermaid-svg-LNDm0ewoPWWn5GRJ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .label text{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .node rect,#mermaid-svg-LNDm0ewoPWWn5GRJ .node circle,#mermaid-svg-LNDm0ewoPWWn5GRJ .node ellipse,#mermaid-svg-LNDm0ewoPWWn5GRJ .node polygon,#mermaid-svg-LNDm0ewoPWWn5GRJ .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-LNDm0ewoPWWn5GRJ .node .label{text-align:center;fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .node.clickable{cursor:pointer}#mermaid-svg-LNDm0ewoPWWn5GRJ .arrowheadPath{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-LNDm0ewoPWWn5GRJ .flowchart-link{stroke:#333;fill:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-LNDm0ewoPWWn5GRJ .edgeLabel rect{opacity:0.9}#mermaid-svg-LNDm0ewoPWWn5GRJ .edgeLabel span{color:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-LNDm0ewoPWWn5GRJ .cluster text{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-LNDm0ewoPWWn5GRJ .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-LNDm0ewoPWWn5GRJ text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .actor-line{stroke:grey}#mermaid-svg-LNDm0ewoPWWn5GRJ .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .sequenceNumber{fill:#fff}#mermaid-svg-LNDm0ewoPWWn5GRJ #sequencenumber{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ #crosshead path{fill:#333;stroke:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .messageText{fill:#333;stroke:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-LNDm0ewoPWWn5GRJ .labelText,#mermaid-svg-LNDm0ewoPWWn5GRJ .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .loopText,#mermaid-svg-LNDm0ewoPWWn5GRJ .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-LNDm0ewoPWWn5GRJ .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-LNDm0ewoPWWn5GRJ .noteText,#mermaid-svg-LNDm0ewoPWWn5GRJ .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-LNDm0ewoPWWn5GRJ .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-LNDm0ewoPWWn5GRJ .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-LNDm0ewoPWWn5GRJ .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .section{stroke:none;opacity:0.2}#mermaid-svg-LNDm0ewoPWWn5GRJ .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-LNDm0ewoPWWn5GRJ .section2{fill:#fff400}#mermaid-svg-LNDm0ewoPWWn5GRJ .section1,#mermaid-svg-LNDm0ewoPWWn5GRJ .section3{fill:#fff;opacity:0.2}#mermaid-svg-LNDm0ewoPWWn5GRJ .sectionTitle0{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .sectionTitle1{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .sectionTitle2{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .sectionTitle3{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-LNDm0ewoPWWn5GRJ .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .grid path{stroke-width:0}#mermaid-svg-LNDm0ewoPWWn5GRJ .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-LNDm0ewoPWWn5GRJ .task{stroke-width:2}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText:not([font-size]){font-size:11px}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-LNDm0ewoPWWn5GRJ .task.clickable{cursor:pointer}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText0,#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText1,#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText2,#mermaid-svg-LNDm0ewoPWWn5GRJ .taskText3{fill:#fff}#mermaid-svg-LNDm0ewoPWWn5GRJ .task0,#mermaid-svg-LNDm0ewoPWWn5GRJ .task1,#mermaid-svg-LNDm0ewoPWWn5GRJ .task2,#mermaid-svg-LNDm0ewoPWWn5GRJ .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutside0,#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutside2{fill:#000}#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutside1,#mermaid-svg-LNDm0ewoPWWn5GRJ .taskTextOutside3{fill:#000}#mermaid-svg-LNDm0ewoPWWn5GRJ .active0,#mermaid-svg-LNDm0ewoPWWn5GRJ .active1,#mermaid-svg-LNDm0ewoPWWn5GRJ .active2,#mermaid-svg-LNDm0ewoPWWn5GRJ .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-LNDm0ewoPWWn5GRJ .activeText0,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeText1,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeText2,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeText3{fill:#000 !important}#mermaid-svg-LNDm0ewoPWWn5GRJ .done0,#mermaid-svg-LNDm0ewoPWWn5GRJ .done1,#mermaid-svg-LNDm0ewoPWWn5GRJ .done2,#mermaid-svg-LNDm0ewoPWWn5GRJ .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-LNDm0ewoPWWn5GRJ .doneText0,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneText1,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneText2,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneText3{fill:#000 !important}#mermaid-svg-LNDm0ewoPWWn5GRJ .crit0,#mermaid-svg-LNDm0ewoPWWn5GRJ .crit1,#mermaid-svg-LNDm0ewoPWWn5GRJ .crit2,#mermaid-svg-LNDm0ewoPWWn5GRJ .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCrit0,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCrit1,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCrit2,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCrit0,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCrit1,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCrit2,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-LNDm0ewoPWWn5GRJ .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-LNDm0ewoPWWn5GRJ .milestoneText{font-style:italic}#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCritText0,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCritText1,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCritText2,#mermaid-svg-LNDm0ewoPWWn5GRJ .doneCritText3{fill:#000 !important}#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCritText0,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCritText1,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCritText2,#mermaid-svg-LNDm0ewoPWWn5GRJ .activeCritText3{fill:#000 !important}#mermaid-svg-LNDm0ewoPWWn5GRJ .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-LNDm0ewoPWWn5GRJ g.classGroup text .title{font-weight:bolder}#mermaid-svg-LNDm0ewoPWWn5GRJ g.clickable{cursor:pointer}#mermaid-svg-LNDm0ewoPWWn5GRJ g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-LNDm0ewoPWWn5GRJ g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-LNDm0ewoPWWn5GRJ .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-LNDm0ewoPWWn5GRJ .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .dashed-line{stroke-dasharray:3}#mermaid-svg-LNDm0ewoPWWn5GRJ #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ .commit-id,#mermaid-svg-LNDm0ewoPWWn5GRJ .commit-msg,#mermaid-svg-LNDm0ewoPWWn5GRJ .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-LNDm0ewoPWWn5GRJ g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-LNDm0ewoPWWn5GRJ g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-LNDm0ewoPWWn5GRJ g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-LNDm0ewoPWWn5GRJ .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-LNDm0ewoPWWn5GRJ .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-LNDm0ewoPWWn5GRJ .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-LNDm0ewoPWWn5GRJ .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-LNDm0ewoPWWn5GRJ .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-LNDm0ewoPWWn5GRJ .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-LNDm0ewoPWWn5GRJ .edgeLabel text{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-LNDm0ewoPWWn5GRJ .node circle.state-start{fill:black;stroke:black}#mermaid-svg-LNDm0ewoPWWn5GRJ .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-LNDm0ewoPWWn5GRJ #statediagram-barbEnd{fill:#9370db}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-state .divider{stroke:#9370db}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-LNDm0ewoPWWn5GRJ .note-edge{stroke-dasharray:5}#mermaid-svg-LNDm0ewoPWWn5GRJ .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-LNDm0ewoPWWn5GRJ .error-icon{fill:#522}#mermaid-svg-LNDm0ewoPWWn5GRJ .error-text{fill:#522;stroke:#522}#mermaid-svg-LNDm0ewoPWWn5GRJ .edge-thickness-normal{stroke-width:2px}#mermaid-svg-LNDm0ewoPWWn5GRJ .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-LNDm0ewoPWWn5GRJ .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-LNDm0ewoPWWn5GRJ .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-LNDm0ewoPWWn5GRJ .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-LNDm0ewoPWWn5GRJ .marker{fill:#333}#mermaid-svg-LNDm0ewoPWWn5GRJ .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-LNDm0ewoPWWn5GRJ {color: rgba(0, 0, 0, 0.75);font: ;}小明浏览器阿姨aaa后端服务台统一登录平台学校管理处集团统一登录后端1.找阿姨打饭,访问aaa页面,调用login接口2.没登录,先去服务台买饭票2.重定向到统一登录平台,输入用户名密码登录3.服务台获取到用户名密码后,打电话问学校管理处是不是有这个人,并让其返回信息4返回用户信息和对话cookie casSsoCookie4.1/4.2/4.3 把用户信息加密存柜子里,设置会话记录,返回饭票tiket5.6.小明拿了饭票tiket,再次调用login接口找阿姨7.阿姨拿着饭票去服务台确认是有效的饭票8.服务台根据ticket,把柜子里锁着的用户信息给了阿姨9.阿姨回来把饭打给了小明,返回用户信息小明浏览器阿姨aaa后端服务台统一登录平台学校管理处集团统一登录后端

半小时内不用重新登陆以及单点登陆1.icore-aaa-sh-stg.xxxx.com.cn域名下拿到【ARES_CAS_COOKIE:${tokenId} , icore-aaa-sh-stg.xxxx.com.cn】2.根据tokenId找到加密柜子里的信息【token-${tokenId} :userInfo加密】token没过期有效3.新建一个ticket【ticket-$ticketId:${tokenId}】一分钟4.返回上面步骤51.xxxx.com.cn域名下拿到【CAS_SSO_COOKIE:casSsoCookie, .xxxx.com.cn)】2.ssoLogin拿到用户登陆信息username userType3.带着casSsoCookie请求getUserInfo4.返回上面步骤4 (除去4.1)前端小明逻辑是
路由跳转就请求login接口
接口返回不是200(就是还未登录)就会重定向到统一登录平台(找服务台)

单点登录,统一登录平台的食堂打饭模型相关推荐

  1. 华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证和结合CAS单点登录统一认证平台和AD域LDAP对接配置

    华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证 结合CAS单点登录统一认证平台 AD域LDAP对接配置 实现用户名密码实名认证 访客短信认证 二维码扫码 钉钉 ...

  2. CAS统一登录认证(6):SSO集成架构

    cas单点登录架构的形成,理解,实践是个过程,整个实现有一定的复杂,网上的基本架构图如下: 但在实施的时候,并不一定各项技术都需要用到,比如,我的实施整理了一下,是以下改进和简化的架构: 1. 通过L ...

  3. 某教育云平台统一登录验证(单点登录)模型图

    背景:教育云平台上面集成各种第三方应用,每个第三方应用都相当于一个独立的系统.如果用户登录了教育云平台,就可以直接访问第三方应用,无需再次验证身份. 那第三方应用如何知道用户已经进行了身份验证?在用户 ...

  4. OAurh 2.0/OpenID与老系统的整合——统一登录平台

    OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全.开放及简单的标准,通过这个标准,第三方无需知道用户的账号和密码,就可获取到用户的授权信息. OAuth2. ...

  5. Uni-App - 实战《悦读》之多应用、多平台统一登录关系

    多平台统一登录之 unionID 通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个应用,可使用以下办法通过UnionID机制来在多个应用进行用户帐号互通. 只 ...

  6. IdentityServer4实现单点登录统一认证

    什么是单点登录统一认证:假如某公司旗下有10个网站(比如各种管理网站:人事系统啊,财务系统啊,业绩系统啊等),我是该公司一管理员或者用户,按照传统网站模式是这样:我打开A网站 输入账号密码 然后进入到 ...

  7. java单点登录统一认证,JEECG 集成KiSSO单点登录实现统一身份认证

    JEECG 集成KiSSO单点登录实现统一身份认证 JEECG 如何为其他第三方系统实现统一身份认证服务,实现单点登录? 第三方系统如何对接呢? 今天为大家揭开这层面纱,让大家了解实质,使用它更快速的 ...

  8. 多个系统间是怎么保证统一登录的

    概念 SSO 英文全称 Single Sign On,单点登录. 在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统. 比如:淘宝网(www.taobao.com),天猫网(www.t ...

  9. spring security 安全框架改造统一登录oauth2.0方式

    继上次改造统一登录之后,这次又接到改造任务,这次的项目结构略有不同,不再有web.xml文件,也不是集成的含有拦截器的jar包,而是oauth2.0的授权码(CODE)方式的认证流程, 因为前端还是v ...

最新文章

  1. 许昌网络企业网站建设的10个理由
  2. python excel 自动化-简直出神入化,教你用Python控制Excel实现自动化办公
  3. WeChall_PHP-Local File Inclusion(LFI)
  4. java实现apriori算法_用Java实现插入排序算法
  5. ID,ClientID,UniqueID的区别
  6. Flink 1.11 SQL 十余项革新大揭秘,哪些演变在便捷你的使用体验?
  7. php的api数据接口书写实例
  8. 面向普通人的 PHP 加密
  9. python可以用c_我们可以在Python中使用C代码吗?
  10. 企业园区全面安防面临的问题及解决之道
  11. ATmega8仿真——键盘扫描的学习
  12. 2021年40个最佳免费WordPress主题
  13. 【20211208】【Python】UCI数据集的简单介绍和使用Python保存UCI数据集为.mat文件
  14. 用线性探测法处理冲突时的散列表_案例
  15. [Paper Reading]开始写Paper Reading Report
  16. Tracup已证明,高效敏捷的沟通与协作可提升IT生产力
  17. 打乱魔方软件_魔方 打乱步骤生成 算法
  18. 2月9日,30秒知全网,精选7个热点
  19. 何为数据库连接池?其工作原理是什么?
  20. M1 macOS 无法录制系统声音?SoundFlower后继有BlackHole【macOS系统声音内录】

热门文章

  1. php人物走动,pygame制作游戏人物精灵的行走及二段跳实现方法
  2. uniapp开发微信小程序/h5完整流程,含vant/uview(h5适配vw)
  3. 小组取什么名字好_好消息!这座天桥今年年底完工!取什么名字,等你出主意!...
  4. 隐藏nginx版本号,隐藏X-Powered-By
  5. 零成本学arduino教程——74hc165扩展寄存器教程
  6. 用arduino和OLED制作火柴人奔跑动画
  7. 使用以太坊和 Metamask 再也不需要输入密码
  8. 关于软路由改造的流水账(一)
  9. 适配器模式-第三方登录与设计模式的七七八八
  10. 生物大分子的计算机模拟就业,生物大分子体系结合自由能及构象变化的计算机模拟...