talkincode / toughradius

toughradius provides radius server, tr069 acs
http://www.toughradius.net
GNU General Public License v3.0
546 stars 273 forks source link

MikroTik Attributes #161

Open marcelofbit opened 8 months ago

marcelofbit commented 8 months ago

大家好。

我對 MikroTik 屬性(例如 Mikrotik-Group)有疑問

我可以透過toughradius UI設定具體群組嗎? 你能幫我@jamiesun嗎?

Hi everybody.

i have a issues about MikroTik Attributes like Mikrotik-Group

Can i set specifics group via toughradius UI ? Can you help me @jamiesun ?

jamiesun commented 8 months ago

https://github.com/talkincode/toughradius/blob/d7177b81b118f498f94de29e6df3d5719e841006/toughradius/auth_accept_config.go#L58

GitHub Copilot: 要支持Mikrotik-Group属性,你需要在RADIUS接受包中设置这个属性。首先,你需要找到Mikrotik-Group属性的标识符,然后在你的代码中添加一个新的函数来设置这个属性。

以下是一个示例的伪代码:

func configMikrotikAccept(user *models.RadiusUser, radAccept *radius.Packet) {
    // Mikrotik-Group属性的标识符可能需要查阅Mikrotik的文档或者联系Mikrotik的支持来获取
    var mikrotikGroupAttributeIdentifier = ...

    // 假设user.Group是你想设置的Mikrotik-Group的值
    var group = user.Group

    // 设置Mikrotik-Group属性
    mikrotik.MikrotikGroup_SetString(radAccept, user.Group)
}

然后,你可以在处理RADIUS接受包的地方调用这个新的函数,就像调用configHuaweiAcceptconfigH3cAccept一样。

请注意,这只是一个示例,你可能需要根据你的具体需求和Mikrotik设备的具体实现来调整这个代码。

jamiesun commented 8 months ago

group 属性管理目前并未实现, 不过如果具备编码能力, 或者利用github copilot 可以很容易加入这个功能