C/S框架-WebService架构用户凭证(令牌)解决方案
C/S框架高级版引用WebService技术,WebService架构的应用系统不可忽视其安全性,WebServcie页面(*.asmx)提供了一组接口(WebMethod,Web方法),任何人在任何地方只要网络相通都能访问,确保这些接口能被安全使用是核心问题。C/S框架高级版内提供了一套安全机制,数据通过特殊的加密处理,所以安全级别很高。
用户访问WebService方法时必须提供的一个用户凭证(令牌)作为参数,每个用户在登入系统后在服务器上存储一张虚拟凭证,该凭证作为用户下一次访问数据时系统自动检查来访者身份的重要“依据”。当连线的用户较多时需要建立一个管理器维护这些凭证,下图是令牌管理器逻辑: 接口及类定义: TokenIdentity:令牌类定义。 TokenAccess: 令牌代理类,主用于检查令牌过期,更新最后存取时间。 TokenManager:令牌管理器。 主要作用是维护用户凭证,包括Add,Find,Remove等功能,内部设置一个时钟用于定期检查凭证是否过期。关键流程: 1. 当用户登录成功后生成一个Key为GUID的令牌保存在服务端的令牌管理器内,由一个时钟定时检测令牌是否过期。过期的令牌作废或直接删除。
2. 用户有调用后台查询数据视该用户在线,更新令牌的最后存取时间。
3. 当用户闲置超时,令牌失效。
4. 当用户登出,令牌失效。原文: