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