后端老鸟十张图讲透单点登录,看完不懂算我菜!

一、单系统登录机制

1. HTTP无状态协议

Web应用采用browser/server架构,HTTP作为通信协议。HTTP是无状态协议,浏览器的每一次请求,服务器会独立处理,三次请求/响应对之间没有任何联系。

这意味着,任何用户都能通过浏览器访问服务器资源。为了保护某些资源,我们需要鉴别浏览器请求。由于HTTP协议无状态,我们需要一种机制让服务器和浏览器共同维护状态,这就是会话机制。

2. 会话机制

当浏览器第一次请求服务器时,服务器创建一个会话并将会话id发送给浏览器。浏览器存储此id,并在后续请求中带上,会话从而保持关联。

会话id可以通过请求参数或cookie来传递。通过使用cookie,浏览器能在每次请求时自动附带会话id。

3. 登录状态

通过会话机制,用户在第一次请求时需要输入用户名与密码验证身份。服务器验证后会将其标记为“已登录”,这个状态保存在会话对象中。后续请求中,服务器会检查该登录状态以判断访问权限。

二、多系统的复杂性

后端老鸟十张图讲透单点登录,看完不懂算我菜!,装MySQL数据库时出现错误的解决方案

随着web系统的发展,用户不再希望为每个子系统单独登录。因此,多系统的应用群要求用户仅需一次登录,方便且一致。

然而,传统的单系统登录方案适用于cookie,这种方案在多系统中遇到诸多局限。例:cookie的域限制使得共享cookie的方式面临技术性和安全性挑战。

三、单点登录

1. 登录

单点登录(Single Sign-On, SSO)允许用户在一个系统登录后,自动获得对其他系统的访问权限。SSO需要一个独立的认证中心,所有系统都通过该中心进行用户身份验证。

后端老鸟十张图讲透单点登录,看完不懂算我菜!,装MySQL数据库时出现错误的解决方案

2. 注销

SSO同样支持单点注销,用户在任何一个子系统注销后,所有子系统的会话都会被一并销毁,保障用户的安全。

3. 部署图

部署SSO涉及认证中心与多个子系统的交互,系统需要集成SSO客户端以处理验证和会话请求。

四、实现

SSO通过客户端/服务端架构实现,涉及用户请求的拦截、会话的建立及验证令牌的管理。开发者可参考实际案例,通过模块实现完整的SSO功能。

数据库可疑LTER DATABASE 数据库名 SET SINGLE_USER

--先运行该语句再恢复数据。可以手动设置数据库属性中的用户模式为“单用户(single user)”

use master

go

ALTER DATABASE 数据库名 SET SINGLE_USER

关于MySQL中SQL注释的详细介绍

MySQL中的SQL注释分为单行和多行注释,单行注释使用“--”开头,多行注释用“/* ... */”。

类型

主要有解释性注释、临时注释和调试注释,用于帮助开发和维护。

后端老鸟十张图讲透单点登录,看完不懂算我菜!,装MySQL数据库时出现错误的解决方案

大型服务器的硬盘工作原理

磁盘阵列(Disk Array)技术解决了提高存取速度、防止数据丢失和有效利用空间的需求。RAID(冗余数组独立磁盘)技术在此技术上实现了数据的安全存储和高效访问。

磁盘阵列原理

多个磁盘组成阵列以提升读写性能,通过数据分段存储,可以并行处理多个磁盘的读写操作。

装MySQL数据库时出现错误的解决方案

当从库与主库的数据不一致导致复制错误,可以通过备份单表并设置合适的复制过滤来解决数据同步的问题。