B/S系统简单License控制
背景:
目前主流商用的系统软件都存在License控制的功能,最主要的目的是为了满足开发商的盈利,作为一种试用、销售的策略。其二
就是为了避免系统软件被未付费人员长期使用或被商业倒卖而做的一种限制功能。
需求:
某商业系统可免费给任何客户或用户使用,缺省使用期限为30天,逾期后系统服务正常运行,用户做任何操作都跳转到Lisence注
册页面。
关键点分析:
1.用户拿到系统时缺省是可运行状态
2.使用期限为30天
3.逾期后系统服务正常运行,用户做任何操作都跳转到Lisence注册页面
系统设计:
1.License数据存放在DB中,方便查询、修改和存储。
2.表结构设计为:id、激活时间、上次使用时间、有效天数、序列号,表中数据在系统初始化运行时新增一条,其中序列号
为一串加密后的字符串【这字符串与整条数据相关,修改整条数据中任何字段的值都会导致License校验失败】。
3.系统启动后用定时器定期执行任务检查时间相关的数据是否被人为篡改,同时也更新数据表中的上次使用时间字段信息,如
存在篡改时间则设置校验失败。
4.系统启动后检查License是否校验通过,把校验结果值放入Application中。
5.拦截每一次请求,检查License校验结果,如果校验失败则把请求跳转到License注册页面,反之则不处理。【任何请求都拦
截影响性能,可增加URL过滤白名单】。
具体实现:
仅讨论设计,按照上面的思路完成代码设计比较简单。
后续在继续讨论复杂的License控制:机器标识码License控制、业务模块License控制和限制用户、流程、特殊业务的License控制
---------------------
本文来自 天要下雨也要出太阳 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sweetyone/article/details/39195243?utm_source=copy
阅读(3200) | 评论(0) | 转发(0) |