首页 > 后端开发 > 正文

php单点登录框架 详解PHP如何实现单点登录

2023-08-27 01:22:12 | 我爱编程网

今天我爱编程网小编整理了php单点登录框架 详解PHP如何实现单点登录相关信息,希望在这方面能够更好的大家。

php单点登录框架 详解PHP如何实现单点登录

php 怎么实现单点登录?

php 单点登录并不复杂。单独登录 (SSO)其实就是让用户通过一次登录访问授权的网络资源。如果是要实现的话,就需要找专业的解决方案了,比如玉符SSO单点登录解决方案。
玉符单点登录的优势主要有:
玉符SSO支持市面上所有标准协议,云服务或者本地部署都搞得定,微软的SAML、谷歌的OIDC,包括CAS、Oauth、JWT等待各种协议都支持
可以提供自研SDK,完美解决自研系统或者没有标准接口应用的问题,只需要十几行代码就可以完成。
玉符单点登录SSO已经实现产品化,交付迅速,时间短,安全性强,单点登录全部通过token令牌实现,不会拿到用户的密码,安全可靠。
希望我的回答对你有帮助。

php单点登录框架 详解PHP如何实现单点登录我爱编程网

php单点登录是如何实现的



单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
推荐阅读:php服务器
实现单点登录的方法
server端
“共享Cookie”即共享session的方式,本质上cookie只是存储session-id的介质,session-id也可以放在每次请求的url里面.session机制是一个server一个session
SSO-Token方式是因为共享session的方式不安全,所以我们不再以session-id作为身份的标识,我们另外生成一种标识,把它取名为SSO-Token,这种标识在整个server群唯一的,所以所有的server群都能验证整个token,同时拿到token 就代表拿到用户的信息
浏览器端
单点登录还有非常关键的一步,这一步跟server端验证token的方式无关,用最早的“共享session”的方式还是现在的“token”方式,身份标识到了浏览器端都要面临这样的一个问题:用户登录成功拿到token(或者是session-id)后怎么让浏览器存储和分享到其它域名下?
同域名很简单,把token存在cookie里,把cookie的路径设置成顶级域名下,这样所有子域都能读取cookie中的token。这就是共享cookie的方式(这才叫共享Cookie嘛,上面那个应该叫共享session)。
技术实现的机制
当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据-ticket;
用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
要实现SSO,需要以下主要的功能:
所有应用系统共享一个身份认证系统。
统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。
所有应用系统能够识别和提取ticket信息。
要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。

php单点登录框架 详解PHP如何实现单点登录

详解PHP如何实现单点登录

可以配合session和数据库(或缓存如redis或memcache)实现,具体步骤如下:

  1. 在登录成功后保存一个时间戳+随机字符的值,这个值暂时叫sign。把这个值存入数据库(缓存),同时也存入session中。

  2. 写一个函数,功能如下:读取数据库(缓存)中的sign,跟session中的sign对比。如不一致,则注销当前session并提示:当前用户已在其他地方登录,你被顶下线。这个函数放到“钩子”里面,实现在每一个操作步骤之前都先调用此函数。

这样,一个简单的单点登录功能就实现了。原理其实很简单,就是每次登录都把数据库(缓存)里面的sign都覆盖一遍,这样当之前登录的人检测到这个sign不一致以后就强制下线。

以上就是我爱编程网小编给大家带来的php单点登录框架 详解PHP如何实现单点登录全部内容,希望对大家有所帮助!
与“php单点登录框架 详解PHP如何实现单点登录”相关推荐
单点登录php框架 php单点登录是如何实现的
单点登录php框架 php单点登录是如何实现的

详解PHP如何实现单点登录可以配合session和数据库(或缓存如redis或memcache)实现,具体步骤如下:在登录成功后保存一个时间戳+随机字符的值,这个值暂时叫sign。把这个值存入数据库(缓存),同时也存入session中。写一个函数,功能如下:读取数据库(缓存)中的sign,跟session中的sign对比。如不一致,则注销当前session并提示:当前用

2023-09-09 08:21:40
开源单点登录框架php php如何实现web系统单点登录
开源单点登录框架php php如何实现web系统单点登录

详解PHP如何实现单点登录可以配合session和数据库(或缓存如redis或memcache)实现,具体步骤如下:在登录成功后保存一个时间戳+随机字符的值,这个值暂时叫sign。把这个值存入数据库(缓存),同时也存入session中。写一个函数,功能如下:读取数据库(缓存)中的sign,跟session中的sign对比。如不一致,则注销当前session并提示:当前用

2023-09-19 17:54:19
php单点登录开源框架 php 怎么实现单点登录?
php单点登录开源框架 php 怎么实现单点登录?

PHP有哪些流行的框架PHP有哪些流行的框架?PHP有哪些流行的框架?PHP作为一种十分流行的编程语言,拥有大量的应用领域和开源程序库。其中,PHP框架可以有效提高对PHP语言的理解和运用水平。框架作为一种用于开发网络应用程序的基础架构,可以让开发者在不同项目的开发中提高效率。在PHP框架领域中,有许多众所周知、使用广泛的优秀框架,其中一些常见的PHP框架如下:1.Lara

2023-09-16 18:17:25
php框架登录页 php如何实现登录的操作功能
php框架登录页 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-10 03:57:54
php框架laravel登录 php如何实现登录的操作功能
php框架laravel登录 php如何实现登录的操作功能

php如何实现登录的操作功能php实现登录操作的方法:首先连接和创建数据库;然后使用layui框架创建前台页面;接着创建“login.php”文件,用来判断用户名密码的正确性;最后访问文件目录查看登录界面效果即可。推荐:《PHP视频教程》开始自然是从最简单的功能起步,我第一个任务选择了做一个登录操作,其实也没想象中那么简单。1.首先自然是连接和创建数据库这部分我写在mode

2023-09-10 06:08:51
php模拟登录框架 php如何实现登录的操作功能
php模拟登录框架 php如何实现登录的操作功能

如何用php做个登陆界面?你可以做一个简单的例如你只有用户名和密码即可那么你先在数据库(以mysql为例)中建表例如叫做user字段为idnamepass分别是编号、用户名、密码长度分别是int(8)a_t(自动编号)主键,varchar(50),varchar(50)你可以添加一个测试数据例如1,admin,admin//说明密码这里不说加密的问题,用明文实现登录页面的代码:login.p

2023-09-09 19:34:20
php登录模块框架 php如何实现登录的操作功能
php登录模块框架 php如何实现登录的操作功能

用php的CI框架怎么写登录和注册第一步:login.php//登陆方法publicfunctionlogin(){//如果用户名和密码为空,则返回登陆页面if(empty($_POST['username'])||empty($_POST['password'])){$data['verifycode']=rand(1000,9999);//生成一个四位数字的验证码

2023-09-14 04:41:46
PHP登录与注册框架 php如何实现登录的操作功能
PHP登录与注册框架 php如何实现登录的操作功能

怎么样使用php的laravel框架快速集成微信登录1.安装php_weixin_provider在项目下运行composerrequirethirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:image2.配置微信登录的参数一共有7个参数可以配置,分别是:client_i

2023-09-21 12:34:19