C/S客户端软件授权设计方案 | MAC地址白名单+软件到期时间授权|C/S开发框架

C/S客户端软件授权设计方案 - MAC地址白名单+软件到期时间授权
目录
一、设计目的
我们的客户开发了ERP或MES系统,需要通过用户端电脑【MAC地址】及【软件到期时间】控制客户端软件运行。
控制逻辑:
- 当用户端MAC地址没有在白名单内,终止用户操作。
- 当前时间>软件到期时间(Expire Time),终止用户操作。
1.1、开发环境
- VS2022,C#,.NET8,EFCore
- SqlServer 2012(阿里云ECS服务器)
- Windows 10
- 开发框架:CSFrameworkV6.1(2024版)
二、设计方案
2.1、基本原理
用户终端以MAC地址作为唯一标识,用户登录时校验MAC地址是否在白名单存在以及判断软件到期时间,如果白名单不存在或者软件过期,系统抛出异常,终止操作。
处理过程:
- 设计一个MAC地址白名单表,用于登记用户端电脑的MAC地址。
- 用户登陆,获取MAC地址。
- 判断当用户的MAC地址是否在白名单内,若不存在,终止用户操作。
- 判断当前时间>软件到期时间(Expire Time),若软件过期,终止用户操作。
2.2、新建 sys_UserLicenseWhitelist 表 - MAC地址白名单表
在CSFrameworkV6_System(系统数据库)新建 sys_UserLicenseWhitelist 表。
作用:该表用于登记用户的MAC地址。
SQL脚本
C# 全选
CREATE TABLE [dbo].[sys_UserLicenseWhitelist](
[isid] [varchar](50) NOT NULL,
[SystemCode] [varchar](50) NULL,
[MAC] [varchar](50) NULL,
[ExpireTime] [datetime] NULL,
[FlagUse] [varchar](1) NULL,
[Remark] [varchar](200) NULL,
[CreationTime] [datetime] NULL,
[CreatedBy] [varchar](50) NULL
)字段说明
- isid:主键,雪花id
- SystemCode:系统编码,如:ERP/MES/CSFrameworkV6
- MAC:用户端电脑mac地址,存储加密的mac地址
- ExpireTime:软件过期时间
- FlagUse:是否启用,Y:启用,N:不启用
- Remark:备注
- CreationTime:创建时间
- CreatedBy:创建人
2.4、dalUser.Login 用户登录接口(校验软件授权)
开始登录,检查软件授权
/// <summary>
/// 用户登录
/// </summary>
/// <param name="loginUser">登录信息</param>
/// <returns></returns>
public Core.LoginUser Login(CSFrameworkV6.Core.LoginUser loginUser)
{
//验证软件证书,如:在线用户并发数、软件过期
this.AssertLicense(MethodBase.GetCurrentMethod().Name, true, true, loginUser.Account, loginUser.MAC);
//省略代码......
}2.5、校验MAC白名单(校验软件授权)
基础资料界面操作 - 保存数据
dalBaseDataDic.Update 方法:
C# 全选
public virtual bool Update(MasterDataUpdate<T> data)
{
//验证软件证书,如:在线用户并发数、软件过期
this.AssertLicense(MethodBase.GetCurrentMethod().Name, true);
//省略代码......
}业务单据界面操作 - 查询/保存数据
dalXXX.Query方法:
C#全选
public List<res_PO> Query(QueryPO input)
{
//验证软件证书,如:在线用户并发数、软件过期
this.AssertLicense(MethodBase.GetCurrentMethod().Name, true);
//省略代码......
}dalXXX.Update方法:
C#全选
public SaveResult Update(BusinessData<tb_PO, tb_POs> data)
{
//验证软件证书,如:在线用户并发数、软件过期
this.AssertLicense(MethodBase.GetCurrentMethod().Name, true);
//省略代码.....
}三、MAC地址登记 - MAC白名单管理

参考:CSFramework.Authentication 软件授权认证系统 用户操作手册。
https://www.cscode.net/archive/csframework-authentication/616557864030213.html
四、参考文章
☞C/S客户端软件授权设计方案 - 在线用户并发数+软件到期时间授权
https://www.cscode.net/archive/newdoc/616540024209413.html
☞.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)
https://www.cscode.net/archive/newdoc/615796830072837.html


参考文档:
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
C#根据本地IP获取MAC地址(Windows API SendARP函数方式)|C/S开发框架
C#网络工具类NetTools,获取IP/MAC地址|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFramework.Authentication 软件授权证书管理系统|C/S开发框架
CSFramework.Authentication 软件授权证书管理系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
C/S客户端软件授权设计方案 | 在线用户并发数+软件到期时间授权|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动创建数据库备份计划|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动备份数据库计划|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET7 .NETCore运行环境下载|C/S开发框架
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
C#根据本地IP获取MAC地址(Windows API SendARP函数方式)|C/S开发框架
C#网络工具类NetTools,获取IP/MAC地址|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFramework.Authentication 软件授权证书管理系统|C/S开发框架
CSFramework.Authentication 软件授权证书管理系统|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
C/S客户端软件授权设计方案 | 在线用户并发数+软件到期时间授权|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动创建数据库备份计划|C/S开发框架
C/S架构软件开发平台 | 旗舰版V6.0 | 自动备份数据库计划|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
达梦数据库 | 使用DM数据迁移工具迁移CSFrameworkV6数据库|C/S框架网|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET7 .NETCore运行环境下载|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
