WisDom.Net 框架设计(六) license

WisDom.Net-license

 

1.为啥要用license

   license (许可证) 顾名思义就是说我的软件只能给在指定的机器上使用。毕竟很多项目都不是免费的,(说句题外话,其实我用的也是盗版,哈哈)这里我们的 license 分为 2种 1,试用版本 显示使用人数 和期限只能有使用30天, 2,正式版本限制合同中规定的天数,下面我们来看一下,WisDom.Net中license是怎么实现的。

2. Do.NET 中的license

    在System.ComponentModel命名空间中有以下几个类

     1.License 为所有许可证提供 abstract 基类,而许可证将授予组件的特定实例。

     2.LicenseContext 指定何时可使用授权的对象,并且提供一种方法,用以获取为支持在其域内运行的许可证所需要的附加服务。

     3.LicenseException 表示当组件不能被授予许可证时引发的异常

 3. WisDom.Net中的license

     1.定义WisDomNetLicense 类,这里采用AES加密之后存入License.src 文件中。完成发证流程。如果要限定MAC地址,只需要在上面加上Mac地址的相关信息就可以限定软件只能在某台服务器上运行了。

     

 public class WisDomNetLicense
    {
        /// <summary>
        /// 许可证类型
        /// </summary>
        public  LicenseType  type{get;set;}
        /// <summary>
        /// 发证日期
        /// </summary>
        public DateTime StartTime { get; set; }
        /// <summary>
        /// 结束日期
        /// </summary>
        public DateTime EndTime { get; set; }
        /// <summary>
        /// 有效天数
        /// </summary>
        public int days { get; set; }
    }

    public enum LicenseType
    {
       Temporary,
       Longterm
    }

2.校验License

    在wisdom.net中我们让用户导入License 其实说白了,就是讲上面的License.src文件上传到某个目录中, 之后我们在页面基类中增加以下校验过程即可如下图:

(图一)

 以上就是我关于License一点不成熟的想法

   

 

 

原文地址:https://www.cnblogs.com/crystal189/p/3725826.html