电商的运营模式有几种常德网站优化推广
2026/6/10 9:05:00 网站建设 项目流程
电商的运营模式有几种,常德网站优化推广,做家装壁纸的网站,国内知名网站建设排名01概述SSO是Single Sign On的缩写#xff0c;OAuth是Open Authority的缩写#xff0c;这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似#xff0c;但概念上又十分不同。SSO大家应该比较熟悉#xff0c;它将登录认证和业务系统分离#xff0c;使用…01概述SSO是Single Sign On的缩写OAuth是Open Authority的缩写这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似但概念上又十分不同。SSO大家应该比较熟悉它将登录认证和业务系统分离使用独立的登录中心实现了在登录中心登录后所有相关的业务系统都能免登录访问资源。OAuth2.0原理可能比较陌生但平时用的却很多比如访问某网站想留言又不想注册时使用了微信授权。以上两者你在业务系统中都没有账号和密码账号密码是存放在登录中心或微信服务器中的这就是所谓的使用令牌代替账号密码访问应用。02SSO两者有很多相似之处下面我们来解释一下这个过程。先来讲解SSO通过SSO对比OAuth2.0才比较好理解OAuth2.0的原理。SSO的实现有很多框架比如CAS框架以下是CAS框架的官方流程图。特别注意SSO是一种思想而CAS只是实现这种思想的一种框架而已上面的流程大概为用户输入网址进入业务系统Protected App系统发现用户未登录将用户重定向到单点登录系统CAS Server并带上自身地址service参数用户浏览器重定向到单点登录系统系统检查该用户是否登录这是SSO(这里是CAS)系统的第一个接口该接口如果用户未登录则将用户重定向到登录界面如果已登录则设置全局session并重定向到业务系统用户填写密码后提交登录注意此时的登录界面是SSO系统提供的只有SSO系统保存了用户的密码SSO系统验证密码是否正确若正确则重定向到业务系统并带上SSO系统的签发的ticket浏览器重定向到业务系统的登录接口这个登录接口是不需要密码的而是带上SSO的ticket业务系统拿着ticket请求SSO系统获取用户信息。并设置局部session表示登录成功返回给浏览器sessionId(tomcat中叫JSESSIONID)之后所有的交互用sessionId与业务系统交互即可最常见的例子是我们打开淘宝APP首页就会有天猫、聚划算等服务的链接当你点击以后就直接跳过去了并没有让你再登录一次03OAuth2.0OAuth2.0有多种模式这里讲的是OAuth2.0授权码模式OAuth2.0的流程跟SSO差不多在OAuth2中有授权服务器、资源服务器、客户端这样几个角色当我们用它来实现SSO的时候是不需要资源服务器这个角色的有授权服务器和客户端就够了。授权服务器当然是用来做认证的客户端就是各个应用系统我们只需要登录成功后拿到用户信息以及用户所拥有的权限即可用户在某网站上点击使用微信授权这里的某网站就类似业务系统微信授权服务器就类似单点登录系统之后微信授权服务器返回一个确认授权页面类似登录界面这个页面当然是微信的而不是业务系统的用户确认授权类似填写了账号和密码提交后微信鉴权并返回一个ticket并重定向业务系统。业务系统带上ticket访问微信服务器微信服务器返回正式的token业务系统就可以使用token获取用户信息了简介一下OAuth2.0的四种模式授权码authorization-code授权码authorization code方式指的是第三方应用先申请一个授权码然后再用该码获取令牌。这种方式是最常用的流程安全性也最高它适用于那些有后端的 Web 应用。授权码通过前端传送令牌则是储存在后端而且所有与资源服务器的通信都在后端完成。这样的前后端分离可以避免令牌泄漏。隐藏式implicit有些 Web 应用是纯前端应用没有后端。这时就不能用上面的方式了必须将令牌储存在前端。RFC 6749 就规定了第二种方式允许直接向前端颁发令牌。这种方式没有授权码这个中间步骤所以称为授权码“隐藏式”implicit密码式password如果你高度信任某个应用RFC 6749 也允许用户把用户名和密码直接告诉该应用。该应用就使用你的密码申请令牌这种方式称为密码式password。客户端凭证client credentials最后一种方式是凭证式client credentials适用于没有前端的命令行应用即在命令行下请求令牌。简单流程04说一下几个名词的区别首先SSO 是一种思想或者说是一种解决方案是抽象的我们要做的就是按照它的这种思想去实现它其次OAuth2 是用来允许用户授权第三方应用访问他在另一个服务器上的资源的一种协议它不是用来做单点登录的但我们可以利用它来实现单点登录。在本例实现SSO的过程中受保护的资源就是用户的信息包括用户的基本信息以及用户所具有的权限而我们想要访问这这一资源就需要用户登录并授权OAuth2服务端负责令牌的发放等操作这令牌的生成我们采用JWT也就是说JWT是用来承载用户的Access_Token的最后Spring Security、Shiro 是用于安全访问的用来做访问权限控制都是一个用Java写的框架

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询