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

作者:C/S框架网  发布日期:2011/05/20 22:40:08
C/S框架-WebService架构用户凭证(令牌)解决方案

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


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


贴图图片



测试界面:


贴图图片


贴图图片


简易的令牌字自符串,未加密。 由三部分组成:1.Token GUID, 2.User ID, 3 DataSet当前用户登录的帐套。

贴图图片






接口及类定义:


贴图图片

TokenIdentity:令牌类定义。

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



贴图图片


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



关键流程:

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

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

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

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


Source Code for VIP:




C/S框架网|原创精神.创造价值.打造精品





点击下载附件 (VIP会员下载) 点击下载附件 (如下载失败,请邮件通知我们寄回给您,或QQ:23404761留言.)
参考文档:

C/S开发框架:系统数据库与账套数据库合并解决方案|C/S开发框架
EFCore+Scheme(数据库架构)实现分库分表支持多种主流数据库解决方案|C/S开发框架
达梦数据库使用DmBulkCopy批导数据解决方案|C/S开发框架
OracleException:“ORA|00942: 表或视图不存在”解决方案|C/S开发框架
CSFramework.CodeGeneratorV6.0|将项目模块(Project)添加到VS解决方案|C/S开发框架
CSFramework.CodeGeneratorV6.0|将窗体(Form)源码加入到VS解决方案|C/S开发框架
代码生成器:直连模式+WebApi生成的源码集成到VS解决方案|C/S开发框架
CSFramework.WebapiV3(.NET7/NetCore) 系统安全及Token令牌介绍|C/S开发框架
SQLSERVER:误删Windows登录用户而sa禁用,导致无法使用Windows身份验证解决方案|C/S开发框架
VS2022不能打开窗体设计器解决方案(无法设计窗体)|C/S开发框架
CSFrameworkV6旗舰版 | 基础资料窗体改装主从子表(多级明细表)解决方案|C/S开发框架
升级到.NET8 LINQ Where关键字 'WITH' 附近有语法错误解决方案|C/S开发框架
VS2022编译解决方案为什么会生成2级Debug子目录|C/S开发框架
VS2022解决方案部署DevExpress组件(DevExpress Project Settings)|C/S开发框架
标准主从表界面增加一个明细表解决方案(不变更BusinessData模型的情况下)|C/S开发框架
CSFrameworkV6|业务单据数据查询页面显示主从表关联数据解决方案|C/S开发框架