Guushuuse .NET

领域驱动设计==哲学

导航

2009年5月4日 #

轻量级单点登录系统最佳实践

摘要: 要实现企业应用集成,就不能不解决单点登录问题。单点登录(SSO,Single Sign On) 也可称统一认证服务,就是用户只登录一次就可以访问多个应用系统而不需要重新登录。怎么解决单点登录问题,用任何一个搜索引擎,都可以找到各种解决方法,可谓是八仙过海、各显神通。本文的目的不是提供一个功能齐全、安全可靠的解决方法,而是提供一个只使用原始Web技术、与软件平台无关、与用户验证形式无关、只有用户验证功能、可以在安全性不过强求的情况下使用的方法——轻量级单点登录系统。虽然本文是使用.NET框架、C#实现的,但完全可以按照同样方法使用其它平台、其它语言来实现;虽然本文是使用用户名和密码写在代码中这种最烂的用户验证形式,但完全可以使用数据库、Active Directory等形式来验证用户。 阅读全文

posted @ 2009-05-04 21:26 guushuuse 阅读(5321) 评论(22) 推荐(1) 编辑

轻量级单点登录系统最佳实践(十一)——5.6.网上办公系统演示App3 (Java)

摘要: default.jsp网上办公系统首页。显示当前用户信息。 ssoController.jsp网上办公系统单点登录控制页。使用形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。后台接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。 阅读全文

posted @ 2009-05-04 21:14 guushuuse 阅读(1678) 评论(1) 推荐(1) 编辑

轻量级单点登录系统最佳实践(十)——5.5. 财务管理系统演示SSOLab. APP2. WebApp

摘要: Default.aspx财务管理系统首页。显示当前用户信息。 Default.aspx.cs财务管理系统首页后台代码。 SSOController.aspxs财务管理系统单点登录控制页。使用形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。 SSOController.aspx.cs财务管理系统单点登录控制页后台代码。接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。 阅读全文

posted @ 2009-05-04 21:11 guushuuse 阅读(1026) 评论(2) 推荐(1) 编辑

轻量级单点登录系统最佳实践(九)——5.4. 人力资源管理系统演示SSOLab. APP1. WebApp

摘要: Default.aspx人力资源管理系统首页。显示当前用户信息。 Default.aspx.cs人力资源管理系统首页后台代码。 SSOController.aspxs人力资源管理系统单点登录控制页。使用形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。 SSOController.aspx.cs人力资源管理系统单点登录控制页后台代码。接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。 阅读全文

posted @ 2009-05-04 20:09 guushuuse 阅读(1250) 评论(1) 推荐(1) 编辑

轻量级单点登录系统最佳实践(八)——5.3. 企业门户系统系统演示SSOLab.Portal.WebApp

摘要: Default.aspx企业门户系统首页。显示当前用户信息和应用系统链接。 Default.aspx.cs企业门户系统首页后台代码。 SSOController.aspxs企业门户系统单点登录控制页。使用形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。 SSOController.aspx.cs企业门户系统单点登录控制页后台代码。接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。 阅读全文

posted @ 2009-05-04 20:04 guushuuse 阅读(1494) 评论(3) 推荐(1) 编辑

轻量级单点登录系统最佳实践(七)——5.2. 单点登录系统SSOLab.SSOServer.WebApp

摘要: SignIn.aspx单点登录系统登录页面。 SignIn.aspx.cs单点登录系统登录页面后台代码。用户登录成功后,返回应用系统相应页面。 SignOut.aspx单点登录系统注销页面。 SignOut.aspx.cs单点登录系统注销页面后台代码。 SSOContext.aspx单点登录系统上下文页面。 SSOContext.aspx.cs单点登录系统上下文页面后台代码。根据应用系统请求返回相应信息,其中用户信息为加密形式,每个应用系统采用不同的秘钥。 阅读全文

posted @ 2009-05-04 19:59 guushuuse 阅读(1996) 评论(2) 推荐(1) 编辑

轻量级单点登录系统最佳实践(六)——5.1. 公共组件SSOLab.SSOServer.Components

摘要: Application.cs应用系统类。属性:ID、名称、单点登录秘钥。 ApplicationService.cs应用系统服务类。方法:根据名称获取应用系统。为了叙述简便,直接把应用系统的信息写入代码中。 User.cs用户类。属性:ID、用户名、密码。 UserService.cs用户服务类。方法:验证用户、根据ID获取用户、根据用户名获取用户。为了叙述简便,直接把用户的信息写入代码中。 SSOUtil.cs单点登录工具类。静态方法:获取随机字符串、DES加密、DES解密、获取网站地址 阅读全文

posted @ 2009-05-04 19:53 guushuuse 阅读(2101) 评论(5) 推荐(2) 编辑

轻量级单点登录系统最佳实践(五)——第4章 轻量级单点登陆系统简介

摘要: 轻量级单点登录系统解决方案包括以下项目: 公共组件SSOLab.SSOServer.Components 单点登录系统SSOLab.SSOServer.WebApp 企业门户系统系统演示SSOLab.Portal.WebApp 人力资源管理系统演示SSOLab. APP1. WebApp 财务管理系统演示SSOLab. APP2. WebApp 网上办公系统演示App3 (Java) 阅读全文

posted @ 2009-05-04 19:21 guushuuse 阅读(2221) 评论(0) 推荐(0) 编辑

轻量级单点登录系统最佳实践(四)——第3章 Web-SSO通常实现方式

摘要: 随着互联网的高速发展,WEB应用几乎统治了绝大部分的软件应用系统,因此WEB-SSO是SSO应用当中最为流行。WEB-SSO有其自身的特点和优势,实现起来比较简单易用。 众所周知,Web协议(也就是HTTP)是一个无状态的协议。一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义。用户在浏览器的地址栏输入页面的URL,浏览器就会向Web Server去发送请求。如下图,浏览器向Web服务器发送了两个请求,申请了两个页面。这两个页面的请求是分别使用了两个单独的HTTP连接。所谓无状态的协议也就是表现在这里,浏览器和Web服务器会在第一个请求完成以后关闭连接通道,在第二个请求的时候重新建立连接。Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁,都是单独的连接。这样的方式大大区别于传统的(Client/Server)C/S结构,在那样的应用中,客户端和服务器端会建立一个长时间的专用的连接通道。正是因为有了无状态的特性,每个连接资源能够很快被其他客户端所重用,一台Web服务器才能够同时服务于成千上万的客户端。 阅读全文

posted @ 2009-05-04 19:18 guushuuse 阅读(2282) 评论(1) 推荐(1) 编辑

轻量级单点登录系统最佳实践(三)——第2章 单点登录简介

摘要: 目前的企业应用环境中,往往有很多的应用系统,如人力资源管理系统、办公自动化系统、财务管理系统、档案管理系统等等。这些应用系统服务于企业的信息化建设,为企业带来了很好的效益。但是,用户在使用这些应用系统时,并不方便。用户每次使用系统,都必须输入用户名称和用户密码,进行身份验证;而且,应用系统不同,用户账号就不同,用户必须同时牢记多套用户名称和用户密码。特别是对于应用系统数目较多,用户数目也很多的企业,这个问题尤为突出。问题的原因并不是系统开发出现失误,而是缺少整体规划,缺乏统一的用户登录平台。 SSO(Single Sign On,单点登录)可以解决上述问题。所谓单点登录,就是是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。 阅读全文

posted @ 2009-05-04 19:17 guushuuse 阅读(1985) 评论(2) 推荐(1) 编辑