更新时间:2024-09-10
1功能简介
1.1应用场景
MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。本文将介绍控制器如何配置对接MySQL数据库,查询数据库中的存储的用户名密码实现无线账号认证。
1.2适用版本
NAC3.13.0
1.3配置思路
1、MySQL数据库信息确认;
2、MySQL数据库对接配置;
3、无线网络配置。
2注意事项
2.1业务影响范围
启用该功能不影响业务。
2.2配置注意事项
提前确认与Mysql服务器通信情况。
3 配置步骤
3.1 MySQL数据库信息 确认
1) MySQL数据库IP;
2) MySQL数据库远程连接端口;
3) 数据库名;
4) 连接数据库的管理员账号与密码,并确保账号有远程连接与查询对应数据库的权限;
5) 存储有用户名/密码的数据表名、用户名字段、密码字段等。
3.2 MySQL数据库对接配置
1)第一步:在控制器【认证配置】-【认证授权】-【外部服务器】-【认证服务器】新增MySQL数据库,填写第一步确认好的服务器信息。
2)第二步:以下面一个MySQL数据库中的数据表(表名:tacuser)中的数据为例,用户登录账号的字段是name,密码字段是password,其中该数据库中存储的密码字段非明文,而是经过MD5摘要加密后的数据。
3)在"新增MySQL数据库"->"获取数据"中,新增配置密码字段。配置该字段后,即可通过对应的Select语句在数据库中查询对应用户名的密码信息,用于用户登录WiFi时做密码校验。用户登录账号的字段是name,密码字段是password,其中该数据库中存储的密码字段非明文,而是经过MD5摘要加密后的数据。例如:SELECT password FROM tacuser WHERE name = $$USERNAME$$
其中“password”“name”等字段为数据库中表头名,加密类型为“password”字段在表中的加密类型。
4)配置用户组字段(按需选配)若数据库中不同的用户所属的分组(部门)不同,而客户期望针对不同的用户分组分配不同的用户权限,或匹配不同的vlan,则可通过用户组字段读取数据库中用户所属的分组(部门),来给不同的用户分配不同的角色权限。例如:
SELECT sex FROM tacuser WHERE name = $$USERNAME$$
根据数据库中“sex”(性别)字段进行查询,并将查询结果作为分组。
5)配置有效期字段(按需选配)
若数据库中不同的用户有有效期时间,而客户期望在有效期内的用户可以连接WiFi认证,而不在有效期内的用户拒绝接入,则可通过配置该字段实现。
SELECT times FROM tacuser WHERE name = $$USERNAME$$
6)其他字段配置(按需选配)
包括创建时间/自定义1/自定义2预留字段,均可以通过SQL语句从数据库中读取,若客户需要读取更多的数据,可以使用以上预留字段查询。
3.3 无线网络配置
1)在【接入点管理】-【无线网络】-【无线网络】中,点击【新增无线网络】,在【基本配置】中设置无线的基础类型,“接入点”中可以选择要发射信号的AP,“数据模式”需要结合内网AP无线部署模式进行选择,“生效射频”可以设置对应的AP发射此信号时为5G单频发射、2.4G单频发射、2.4G与5G双频发射。
2)【认证类型】中,由于此例中需求为企业级认证,故选择对应认证方式。
3)选择企业级认证后,在账号认证中,点击认证服务器,在弹出的选择框中选择3.2添加的数据库。
4)在【VLAN设置】中,选择用户连接无线后获取的地址段。此处的用户vlan需要与第一步【数据模式】中的转发模式结合配置,避免出现用户无法获取地址的情况。
5)根据查询指令返回的值,可以在【权限设定】中,根据用户组等进行设置角色,实现上网权限的精细控制。点击添加后,在弹出的规则列表中设置规则,并设置匹配规则后分配的角色,如果用户属性未命中任何配置的规则,则匹配最后一个角色,若无权限分配需求,则只需要配置未匹配规则的终端用户设置默认角色。
提交配置并进行无线测试。
4 效果 演示
5常见问题
1)密码字段的加密类型,务必与数据库中存储的类型保持一致,否则认证无法通过。
2)企业级认证仅支持加密类型为明文和NT-Password。
3)Web认证支持所有加密类型。