在一般的权限系统里面,可能经常会看到系统的黑名单或者白名单的拦截功能。在一般权限系统里面 ,常见的黑名单就是禁止用户在某些IP上登录系统,白名单就是允许用户只在某些IP上登录系统。本随 笔主要介绍在我的权限系统里面,如何实现这个黑白名单的功能,以及介绍在其中应用到的IP对比操作 ,IP段判断等操作代码。
1、黑白名单的配置
要完成黑名单的拦截和白名单的放行,我们需要进行名单的配置操作,我们把相关的配置放到列表里 面进行展示,可以添加多个黑名单或者白名单,如下界面所示。
开发框架之权限管理系统改进经验总结(3)系统登录黑白名单的实现-winform 框架">
可以单击新建按钮进行添加一条记录,或者在已有记录上双击黑白名单可以进行编辑,界面如下所示 。
2、IP段的录入和对比
在上面的IP输入中,我们需要确认IP段的起始地址小于结束地址,否则我们对比的时候,就可能发生 混乱,因此需要在用户输入的时候进行确认,也就是IP地址的大小对比关系。
输入内容的检查代码如下所示。
/// <summary> /// 实现控件输入检查的函数 /// </summary> /// <returns></returns> public override bool CheckInput() { bool result = true;//默认是可以通过 #region MyRegion if (this.txtName.Text.Trim().Length == 0) { MessageDxUtil.ShowTips("请输入显示名称"); this.txtName.Focus(); result = false; } else if (this.txtAuthorizeType.Text.Length == 0) { MessageDxUtil.ShowTips("请选择授权类型"); this.txtAuthorizeType.Focus(); result = false; } else if (this.txtIPStart.Text.Length == 0) { MessageDxUtil.ShowTips("请输入IP起始地址"); this.txtIPStart.Focus(); result = false; } else if (this.txtIPEnd.Text.Length == 0) { MessageDxUtil.ShowTips("请输入IP结束地址"); this.txtIPEnd.Focus(); result = false; } IPAddress ip1 = IPAddress.Parse(this.txtIPStart.Text); IPAddress ip2 = IPAddress.Parse(this.txtIPEnd.Text); if (ip1.Compare(ip2) == 1) { MessageDxUtil.ShowTips("请IP开始地址不能大于结束地址, 请修改"); this.txtIPEnd.Focus(); result = false; } #endregion return result; }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索系统
, text
, this
, 地址
, 输入
, result
, winform旋转登录界面
黑名单实现
winform 框架、c winform 框架、winform开发框架源码、winform ui框架、winform 开发框架,以便于您获取更多的相关知识。