我已经使用 FreeRADIUS 的 PAP 成功执行了 ID/PW 身份验证测试。
当我收到客户端请求的 ID/PW 和 OTP 时,我想首先使用 PAP 验证 ID/PW。如果初始身份验证成功,我希望使用 OTP 继续进行第二次身份验证,其中涉及通过 REST 与我的个人身份验证服务器进行通信。
我已在其余文件的“post-auth”部分中添加了第二个身份验证 API 的信息,并且我还在默认配置文件的“post-auth”部分中添加了以下代码。
post-auth {
update control {
Auth-Type := rest
}
rest
...
}
它按预期工作,但在我看来,“post-auth”感觉应该在所有身份验证完成后执行。
我认为我不应该在“post-auth”中执行第二次身份验证,但我还没有找到其他解决方案。
这样做会导致任何问题吗?
如果您有更好的选择,请帮助我。
多年来,我使用 django 作为后端,使用 rlm_rest 来玩 Freeradius。该系统用于处理 mikrotik 热点登录。
我的场景是强制使用集中式登录屏幕。 内部 mikrotik 热点 login.html 将用户重定向到 mylogin。 成功登录 Web 后,我的 djanggo 将在 memcached 中静默创建一条记录,其中包含用户名和随机密码,并将其设置为 5 秒后过期
django 还创建一个对用户的回复,其中包含自动发布到 mikrotik 的预填充 html 表单。
Mikrotik 将使用该用户名对 freeradius 进行身份验证并随机化密码。
反过来,freeradius 会请求我的 django,django 会根据 memcached 中存储的数据进行响应。并设置memcached过期。
默认情况下,mikrotik 热点登录页面是 http .. 未加密,但我的 django 页面是 http 。 所以...如果有人在登录的最后一步进行以太转储,这是没有用的...因为随机密码将不再有效。