惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
P
Privacy International News Feed
L
LINUX DO - 热门话题
C
Cisco Blogs
T
Tor Project blog
AWS News Blog
AWS News Blog
K
Kaspersky official blog
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
Attack and Defense Labs
Attack and Defense Labs
Latest news
Latest news
The Last Watchdog
The Last Watchdog
Apple Machine Learning Research
Apple Machine Learning Research
Simon Willison's Weblog
Simon Willison's Weblog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cloudbric
Cloudbric
Last Week in AI
Last Week in AI
S
Security Affairs
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
有赞技术团队
有赞技术团队
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
P
Palo Alto Networks Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
V
V2EX
S
Secure Thoughts
人人都是产品经理
人人都是产品经理
月光博客
月光博客
博客园_首页
T
Troy Hunt's Blog
爱范儿
爱范儿
N
News and Events Feed by Topic
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost

博客园 - 赣江源

StreamInsight参考示例 Microsoft StreamInsight简介 GridView中的DataFormatString失效解决办法 - 赣江源 - 博客园 按照时间点还原数据库(SQL Server) 如何显示在线用户? ASP.NET中每个页面在Load之前调用公用函数 在服务器端提取ASP.NET控件输出的HTML 如何处理在IE7关闭时不出现选项卡提示 使用JavaScript控制UpdatePanel的更新 获取GridView单元格值的通用函数 如何在GridView将数字显示成金额格式或自定义格式? ASP.NET 2.0中使用XSLT的变化 在GridView表头显示排序方向 利用AJAX实现DropDownList与GridView做实时更新 输出时清除GridView的Style ASP.NET实现打印的方法小结 提高ASP.NET性能的一点方法 asp.net的一些小技巧 route命令详解
网站单点登录的实现思路
赣江源 · 2008-04-09 · via 博客园 - 赣江源

当我们开发了不同的Web应用系统后,如果一个用户同时要使用多个Web应用系统,但是每个应用系统都需要输入自己的账号和密码,这对于用户来说太麻烦。为了方便用户使用,就需要做单点登录,只要登陆一个Web系统后,跳转到别的Web系统时不再需要输入账号和密码;但是为了考虑到系统的安全性,这样设计单点登录功能时需要考虑安全和易用性的兼顾。

下面的实现方式是通过SQL-Server数据库来实现,假如有两个Web系统,WebA和WebB,首先在数据库中设计一个数据表,用来存储登录的用户信息,这个数据需要两个系统都可以对其操作的,这个数据表应包含以下字段信息:
GUID:由NewId()生成,格式为:【504B1790-E93A-4445-B262-E73A113BF336】;
UserId:WebA或WebB的账号,当然WebA与WebB可以用相同的账号,或者是通过用户影射的方式来取;
TimeOut:过期时间,假设这个时间为生成该记录的时间+2分钟。也就是从WebA到WebB的过程,时间过期后这条记录无效。

接下来就是实现的步骤:
1、当WebA链接转向WebB时向数据库写入一条记录,例如:5ED095B8-350D-42C3-953B-9C53DED54AFD,user1,20080402165823
2、WebA 把生成的GUID传递给 WebB
3、WebB得到GUID后,从数据库表取回登陆用户信息,并判断现在时间没有大于20080402165823;
4、如果找不到,显示错误信息并拒绝登录,如果找到,直接登录WebB系统,并同时删除该条GUID信息;
在这个过程中,过期时间设置的越长越不安全,但是太短了又容易造成登录失败,所以需要根据具体情况来设定。

这就是一个很简单的实现方式,如果有更好的方式,请提出一起学习研究。