PHPRPC是什么:
PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
因为PHPRPC有以上诸多特性,那么我们的SSO也可以实现安全、快捷、跨域。
所以单点登录,就是用户只需要在中心认证服务器登录一次,然后浏览器通过中心认证服务器返回的信息轮询访问应用系统进行模拟登录,之后用户再访问应用系统的时候不需要登录就能访问了。
其实现原理就是浏览器(用phprpc for javascript)请求中心认证服务器(phprpc for php),通常此时的浏览器就是一个登录页面,浏览器将用户名和密码传递给中心认证服务器,中心认证服务器验证成功之后,查找数据库里此用户名和密码对应的信息,根据这些信息生成一个令牌(token)返回给浏览器,浏览器在用token访问应用系统,应用系统收到token之后,再用收到的token访问中心认证服务器,中心认证服务器通过这个token查找数据库,从而能够找到对应应用系统的用户名和密码,然后将这个用户名和密码返回给应用系统,应用系统再收到的用户名和密码进行登录(通常就是一次写SESSION或者COOKIE的过程)
借助一下数据库设计图,应该更好理解
就像设计图中所展示的,统一认证服务器收到浏览器通过javascript传递过来的用户名和密码检索“认证服务器用户表”,从而得到“用户ID”,根据“用户ID”再去检索“应用系统用户表”,然后就会得到一条或多条记录,把每一个结果都在“临时会话表”中生成一条记录,这里的“会话ID”是表的主键,也就是我们的token,而第二个字段id是对应的“应用系统用户表”的主键,还有一点比较重要,就是根据“应用系统ID”检索“应用系统表”,从而获得应用系统的地址。
然后统一认证服务器将token与应用系统的访问地址组成一个新的数组返回给浏览器
然后浏览器再运行JS将传回来的token作为参数访问应用系统服务端。
应用系统使用token访问统一认证服务器从而获取用户名和密码,获得用户名密码之后就完成了登录。
分享到:
相关推荐
单点登录系统的设计与实现⽅案 单点登录系统的设计与实现⽅案 ⽬的: 对⽬前已有的 Web 应⽤系统,和将来待开发的 Web 应⽤系统进⾏集成,实现单点登录。 要求: 1. 对已有的 Web 应⽤系统不作⼤规模改造。 2. 不...
基于GXT的RPC与MVC实现登录和退出功能
基于RPC的简单NFS系统实现 代码实现,基于sunrpc 实现 目录创建,列取,删除,文件创建,列取,删除。
基于Netty实现了dubbo rpc
基于RPC实现的三方通信机制,客户端,服务器端,节点端相互通信
基于sun rpc rpcgen 实现简单的NFS功能 能够列取远端目录文件,进行创建文件,创建目录,列取目录,删除空目录,删除文件操作。
基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++ 的 RPC 框架.zip基于 C++...
jsonrpc-c-master 基于 json rpc 1.0 纯C开发的服务端代码和示例
RPC的Java实现,自己一步一步实现,有助于分布式学习的理解。
基于XML rpc的实现源代码;可以使用soap实现类似的功能,但这个更容易使用
基于Thrift框架RPC的研究与实现_田翠珍.pdf
基于socketServer和socketClient实现的远程Rpc调用Demo
基于C++ module库 Protobuf Zookeeper 实现的Rpc框架.zip基于C++ module库 Protobuf Zookeeper 实现的Rpc框架.zip基于C++ module库 Protobuf Zookeeper 实现的Rpc框架.zip基于C++ module库 Protobuf Zookeeper 实现...
这是一个PHPrpc客户端文件
phprpc for .net 源代码都有,可修改
SimpleRPCFramework是一款基于 Nacos 实现的 RPC 框架。网络传输实现了基于 Java 原生
联系web和windows 应用的软件PHPRPC. PHPRPC for Delphi 是针对 Delphi 6 - 2009 原生程序开发版本的。如果你想将 PHPRPC 用于 Delphi.NET,请参见 PHPRPC for .NET 章节的相关内容。 PHPRPC for Delphi 的安装 ...
phprpc 的delphi调用 一般常用的调用方法 htdocs http://127.0.0.1/ 为WEB根目录 PHPRPC演示 php版本调用 http://127.0.0.1/demo-phpclient.php 调用demo-phpserver.php发布的HelloWorld()方法 demo1 ...
jsonrpc是一个基于Java的高性能开源RPC框架
│ ├─ 03-SSO 单点登录 │ ├─ 04-PHP WEB 安全防御 │ ├─ 05-PHP 缓存技术 │ ├─ 06-三个水桶等分8升水的问题 -《算法的乐趣》 │ ├─ 07-使用过Redis,我竟然还不知道Rdb │ ├─ 08-我眼中的 RPC │ ├─...