freeradius - FreeRadius filter_username
问题描述
我需要将过滤器调整为半径,以便仅允许使用包含“test”一词的用户名进行连接。
设置块:
filter_private {
if (User-Name =~ /^(?!test).*$/) {
update reply {
Reply-Message += "Rejected: Username rejected, because not test"
}
reject
}
}
但它绝对允许任何用户名。
解决方案
根据文档,我认为您需要否定逻辑:
if (User-Name !~ /^(?!test).*$/) {
# etc.
}
此外,上面的正则表达式可能(取决于您的本地正则表达式引擎)允许以(由于)开头的用户名而不是任何包含. 对于后者,您需要将逻辑更改为:test
^
test
if (User-Name !~ /.*test.*/) {
# etc.
}
推荐阅读
- c# - 如何设置 DataGridTextColumn 垂直居中(WPF)?
- ios - 如何在将数据传递给 viewController 时实例化 navigationController?
- storybook - 如何禁用故事书中的“文档”选项卡?
- java - 遍历二维数组的第一列后仅打印一次消息
- javascript - 如何测试链接在 Javascript 或 JQuery 中是否有效?
- android - 无限期的 Snackbar 是进度指示的可行选择吗?
- hive - 如何通过 order by 子句对分区列执行差异?
- wordpress - wp_schedule_single_event 没有调用我的操作
- python - 我需要改进一个解析多 fasta 文件的函数,使用 try execpt 处理检查压缩
- c# - 将 Microsoft.office.interop.Access.Dao 添加到 GAC