ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 7965|回复: 19

[求助] hotsport 脚本 如何实现一个用户名只能一个台电脑认证上网

[复制链接]
 楼主| 发表于 2013-9-24 13:07:53 | 显示全部楼层 |阅读模式

马上注册成为ROSABC会员,随时发帖回复。

您需要 登录 才可以下载或查看,没有账号?会员注册

x
user profiles ----  default----shared users 设置为2,保证同一账户能从另一台登录,登录后如何脚本实现自动remove uptime大的那个,从而实现一个用户名只能在一个台电脑上认证上网,谢谢!

同一用户在active中
123456.jpg

如何编脚本自动remove  uptime大的那个用户
从而实现一个用户名只能在一个台电脑上认证上网,谢谢!

发表于 2013-9-24 22:53:57 | 显示全部楼层
找不到办法实现,但是找了个代替办法,不完美。就是脚本运行每分钟查找1次,如果有2个地方出现登陆,就将两个active都踢出。自己真菜鸟,写不出什么代码来,请高手给意见帮助解决问题,或帮忙优化代码,也为了给他人提供参考特回此贴。


感谢ROS软路由5 qq群1   浙江-族一下天给我提供了帮助与支持。
并提供参考代码如下:
:local userX;
:local userY;
:local i;
:local u;
:local clogged 0;
:local addr [ :resolve "www.maxfava.com" ];
:local addr2 [ :resolve "www.maxfava.com" ];

:foreach i in=[/ppp active find] do={
:set userX [/ppp active get $i name];
:set clogged 0;

:foreach u in=[/ppp active find name=$userX ] do={
:set clogged (clogged +1);

:if (clogged>1)  do={
:set userY [/ppp active get $u name];
:set addr [/ppp active get $u caller-id];
:set addr2 [/ppp active get $i caller-id];

:if ($addr != addr2)  do={
:log info "MPPP: FIRST ACTIVE <<$userX>> FROM IP $addr2";
:log info "MPPP: THE $clogged° <<$userY>>  CALLING FROM IP $addr NOW DISCONNECTED";
/ppp active remove $u;
}
}
}
}


-----------------------------------------------------------------------------------
自己也找遍网络学习后,修改后代码如下:
:local userX;
:local i;
:local u;
:local clog 0;
:foreach i in=[/ip hotspot active find] do={
:set userX [/ip hotspot active get $i user];
:set clog 0;
:foreach u in=[/ip hotspot active find user=$userX ] do={
:set clog (clog +1);
:if (clog>1)  do={
/ip hotspot active remove [/ip hotspot active find user=$userX]
}
}
}

---------------------------------------------------------
最后:
/ip hotspot active--uptime 只能是用find 不能用get(估计是我太菜整不来,而且也只是一知不解),所以放弃比较uptime来踢出前1个用户。

:put [typeof $u] 显示的是id ,说明上面代码中的$i  $u 都是id类型。不知如何比较2个id的大小 。直接比较 put ($i>u) 显示的是 cannot compare if array is less than array。如果能比较我说不准就实现踢出前面登录的了。

本人在5.21测试好像代码不能用,在5.24测试成功。
发表于 2013-12-1 13:38:50 | 显示全部楼层
直接设置shared users 设置为1就可以了。
发表于 2014-5-23 14:56:54 | 显示全部楼层
就是啊,楼上的是正解啊,当然也可以MAC绑定,就只能一台电脑一个帐号了
发表于 2014-10-5 15:19:28 | 显示全部楼层
xuexue来来啦xuexue来来啦xuexue来来啦
发表于 2014-10-23 19:55:34 | 显示全部楼层
虽然看不懂 还是顶了
发表于 2014-12-11 08:36:31 | 显示全部楼层
还是顶了还是顶了
发表于 2014-12-12 19:37:27 | 显示全部楼层
学习 学习 学习 好好学习
发表于 2014-12-12 19:38:08 | 显示全部楼层
学习 学习 学习 好好学习
发表于 2014-12-12 19:38:21 | 显示全部楼层
学习 学习 学习 好好学习
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2024-4-20 10:50 , Processed in 0.112138 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表