软件用户授权注册系统 V2.1 - 软件集成使用指南
CSFramework.COM
软件注册
用户注册
软件授权
软件用户授权注册系统
csframework@喜鹊软件
目录
3.4 软件集成使用指南
3.4.1 软件注册授权流程图
3.4.2 秘钥 (PrivateKey)
秘钥类(PrivateKey),代码混淆后可以隐藏秘钥。
系统集成前,必须更改CSFramework.LicenseCore.PrivateKey类中定义的秘钥。
加密/解密工具,参考:加密/解密工具
3.4.3 许可证文件 (user.lic)
文件名:user.lic,用户注册成功后在程序目录下自动生成此文件,丢失或损坏文件主程序将无法使用,需要重新注册恢复使用。
文件内容,CSFramework.LicenseCore.LicenseClient.CSLicense
| 文件名称 | 文件说明 |
| IsExpired | 判断许可证是否过期。 |
| IsStopUse | 判断许可证是否暂停使用或作废状态。 |
IsValid | 判断许可证是否有效,包括:检查状态、过期时间、设备编号等信息。 | |
| UpdateLimit | 更新限制使用相关参数的计数器,比如使用次数、使用天数等。 |
| Address | 软件客户的公司地址 |
| BuyDate | 软件购买日期。 |
| ClientHID | 终端用户电脑的设备信息,用于限制单个注册码多台电脑使用。 |
| ContactPerson | 客户联系人。 |
CreateDate | 客户文档建立日期。 | |
| CreateUser | 客户文档建立人员。 |
| ExpireDate | 许可证过期日期。 |
IsDayLimit | 是否限制天数。 | |
IsDemoVersion | 当前客户使用的是试用版本。 | |
| IsFunctionLimit | 当前客户受菜单功能限制,比如不提供某些菜单功能,发布标准版、高级版等。 |
IsTimesLimit | 是否限制使用次数。 | |
| IsValidateLicenseOnline | 此客户需要联机验证许可证。终端用户每次登陆需要连接授权中心验证许可证。 |
| LastAccessTime | 注册、更新计数器时更新此属性的值,用于【限制使用天数】匹配日期。 |
| LicenseID | 证书号码,客户编号。 |
| LimitDays | 软件可使用天数。 |
| LimitDaysUsed | 软件已使用天数。 |
LimitTimes | 软件可使用次数。 | |
LimitTimesUsed | 软件已使用次数。 | |
Mobile | 联系人手机号码。 | |
Publisher | 软件供应商,公司名。 | |
RegisterNo | 注册号码,软件注册成功保存在证书的注册号码。 | |
RegisterTime | 注册时间,软件注册时间。 | |
RegisterType | 注册类型,分为:单个用户、无限用户。 | |
Remark | 备注 | |
ServerTime | 服务器时间,联机验证证书返回服务器当前时间。 | |
ShortName | 客户公司简称。 | |
Status | 状态,分为:正常使用,暂停使用,作废过期。 | |
Tel | 客户电话。 | |
| UserName | 客户名称。 |
3.4.4 系统登录界面应用注册功能
以登录界面作为注册授权案例,设计思路:
1)软件注册,第一次运行系统进行软件注册。
2) 验证证书,软件注册成功,每次运行系统自动验证证书(本地验证、联机验证)。
3) 查看证书,软件注册成功,可以查看证书详情。如:可用天数、可用次数、过期日期。
在系统登录界面集成软件注册功能,请参考 CSFramework.Tester的frmLogin.cs源码。
3.4.5 授权中心服务器接口设计
接口文件:CSFramework.LicenseCore.WCF. IlicenseService
WCF服务:CSFramework.LicenseService. LicenseService
| 文件名称 | 文件说明 |
| GetServerTime | 获取服务器时间 |
| ValidateRegisterNo | 检查注册号码 |
| Register | 软件注册 |
| GetFunction | 获取软件功能表 |
| GetLicenseData | 获取证书 |
3.4.6 本地代理服务器接口设计
接口文件:CSFramework.LicenseCore.WCF. IlicenseProxyService
WCF服务:CSFramework.LicenseLocalProxy. LicenseProxyService
| 文件名称 | 文件说明 |
| GetServerTime | 获取服务器时间 |
| ValidateRegisterNo | 检查注册号码 |
| Register | 软件注册 |
| GetFunction | 获取软件功能表 |
| GetLicenseData | 获取证书 |
3.4.7 导入菜单数据&自定义权限
给用户分配自定义权限(扩展权限),如:发送短信功能。
参考:CSFramework.LicenseMain.frmSoftwareFunctionImporter.PrepareData方法
导入菜单数据请参考:导入菜单数据及分配软件功能。
3.4.8 应用自定义权限(扩展权限)
当客户属性FlagFunctionLimit=Y时,此功能有效。
3.4.9 应用菜单权限
当客户属性FlagFunctionLimit=Y时,此功能有效。
在初始化主窗体时使用,用于过滤菜单数据(删除没有授权的菜单功能)。
参考:CSFramework.Tester.frmLogin界面的btnLogin_Click事件。