单点登录是什么

简介:

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。




概述:

很早期的公司,一家公司可能只有一个Server,慢慢的Server开始变多了。每个Server都要进行注册登录,退出的时候又要一个个退出。用户体验很不好!你可以想象一下,上豆瓣 要登录豆瓣FM、豆瓣读书、豆瓣电影、豆瓣日记......真的会让人崩溃的。我们想要另一种登录体验:一家企业下的服务只要一次注册,登录的时候只要一次登录,退出的时候只要一次退出。怎么做?


一次注册。 一次注册不难,想一下是不是只要Server之间同步用户信息就行了?可以,但这样描述不太完整,后续讲用户注册的时候详细说。实际上用户信息的管理才是SSO真正的难点,只是作为初学者,我们的难点在于实现SSO的技术!我们先讨论实现手段。


一次登录与一次退出。 回头看看普通商场的故事,什么东西才是保持登录状态关键的东西?记录器(session)?那种叫做cookie的纸张?写在纸张上的ID? 是session里面记录的信息跟那个ID,cookie只不是记录ID的工具而已。客户端持有ID,服务端持有session,两者一起用来保持登录状态。客户端需要用ID来作为凭证,而服务端需要用session来验证ID的有效性(ID可能过期、可能根本就是伪造的找不到对于的信息、ID下对应的客户端还没有进行登录验证等)。但是session这东西一开始是每个server自己独有的,豆瓣FM有自己的session、豆瓣读书有自己的session,而记录ID的cookie又是不能跨域的。所以,我们要实现一次登录一次退出,只需要想办法让各个server的共用一个session的信息,让客户端在各个域名下都能持有这个ID就好了。再进一步讲,只要各个server拿到同一个ID,都能有办法检验出ID的有效性、并且能得到ID对应的用户信息就行了,也就是能检验ID
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单点登录技术(Single Sign On,简称SSO)是一种用于应用系统集成的技术,它实现了用户只需登录一次,就可以无缝切换访问被授权允许访问的多个应用系统或资源。通过SSO技术,用户只需要提供一次登录凭证(如用户名和密码),就可以在多个应用系统中进行身份验证和授权,而无需在每个系统中单独登录。 SSO技术的实现基于以下基本条件: 1. 用户只需登录一次,即可访问多个应用系统。 2. 用户登录凭证在不同系统间进行共享和传递。 3. 应用系统之间有一种信任关系,即一个系统可以信任另一个系统的身份验证结果。 在ASP.NET中,可以使用一些简单的方法来实现单点登录技术。例如,可以使用Session或Cookie来存储用户的登录状态,并在其他应用系统中进行验证。以下是一个简单的ASP.NET代码示例: ```csharp // 单点登录(Single Sign On) public void SSOMethods(string username, string password) { // 判断登录情况,此处方法省略... int result = CheckLogin(username, password); if (result > 0) { // 登录成功,设置Session或Cookie来保存登录状态 Session["IsLoggedIn"] = true; Session["Username"] = username; // 跳转到其他应用系统 Response.Redirect("http://otherapp.com"); } } ``` 通过上述代码示例,当用户在一个应用系统中成功登录后,会将登录状态保存在Session或Cookie中,并跳转到其他应用系统。其他应用系统可以通过检查Session或Cookie来验证用户的登录状态,从而实现单点登录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值