C/S框架-WebService架构用户凭证(令牌)解决方案

C/S框架-WebService架构用户凭证(令牌)解决方案

http://www.csframework.com/archive/5/arc-5-20110520-1504.htm

C/S框架高级版引用WebService技术,WebService架构的应用系统不可忽视其安全性,WebServcie页面(*.asmx)提供了一组接口(WebMethod,Web方法),任何人在任何地方只要网络相通都能访问,确保这些接口能被安全使用是核心问题。C/S框架高级版内提供了一套安全机制,数据通过特殊的加密处理,所以安全级别很高。


用户访问WebService方法时必须提供的一个用户凭证(令牌)作为参数,每个用户在登入系统后在服务器上存储一张虚拟凭证,该凭证作为用户下一次访问数据时系统自动检查来访者身份的重要“依据”。当连线的用户较多时需要建立一个管理器维护这些凭证,下图是令牌管理器逻辑:


贴图图片



接口及类定义:


贴图图片

TokenIdentity:令牌类定义。

TokenAccess: 令牌代理类,主用于检查令牌过期,更新最后存取时间。



贴图图片


TokenManager:令牌管理器。 主要作用是维护用户凭证,包括Add,Find,Remove等功能,内部设置一个时钟用于定期检查凭证是否过期。



关键流程:

1. 当用户登录成功后生成一个Key为GUID的令牌保存在服务端的令牌管理器内,由一个时钟定时检测令牌是否过期。过期的令牌作废或直接删除。

2. 用户有调用后台查询数据视该用户在线,更新令牌的最后存取时间。

3. 当用户闲置超时,令牌失效。

4. 当用户登出,令牌失效。

原文:

http://www.csframework.com/archive/5/arc-5-20110520-1504.htm

posted on 2011-06-04 23:47  C# Winform开发框架  阅读(1279)  评论(0编辑  收藏  举报