iamanonymous 发表于 2008-1-22 00:46:10

steel-belted radius中外挂的SQL数据库里的用户无法通过验证,请高手指点,谢谢!!!

小弟采用ROS :2.7.29
radius :steel-beleted radius 5.3
SQL:SQLServer 2000 +SP4

现我在RADIUS中添加的帐号都可以拨号通过,
但是在SQL 中userlist表中的帐号拨号时都提示行691错误。
查看RADIUS 的server的目录中的20080121.LOG文件,显示
未发现数据源名称并且未指定默认驱动程序。

sqlauth.aut文件创建如下:

一、建立系统DSN;

使用ODBC 数据源管理器建立连接SQL Server 的系统DSN,命名为LocalServer;

二、配置 Sqlauth.aut 实现认证功能

Steel-Belted Radius 默认并不支持SQL Server 连接,需要我们进行相应的设置,大部分都是在Sqlauth.aut中完成。以下是一个已完成的Sqlauth.aut


LibraryName=sqlauth.dll
Enable=1
InitializationString=SQL Server


Connect=DSN=LocalServer;UID=sa;PWD=123456
SQL=SELECT Password,Profile FROM userlist WHERE UserName = %name and Enable = 1
ParameterMarker=?
MaxConcurrent=30
ConcurrentTimeout=30
ConnectTimeout=25
QueryTimeout=25
WaitReconnect=2
MaxWaitReconnect=360
PasswordFormat = 0
DefaultResults = 0


at Reply-Message ='Please re-enter your password dot '
at Filter-Id ='3'


;s1=2
;s2=2

;
;Connect=DSN=<dsn_name_here>;UID=<username_for_dB>;PWD=<password_for_dB>

;
;Connect=DSN=<dsn_name_here>;UID=<username_for_dB>;PWD=<password_for_dB>


Password=1
Profile=2
;UserName=3/40s
;Alias=2/48


Accept=1
Profile=xyz
FullName=Remote User

各字段含义如下:

Enable :是否启用SQL Server ;1为是 0为否;
InitializationString:SQL Server 连接的名称 ,值随意;
Connect:数据库连接设置 DSN为我们为我们第一步建立的系统DSN名称;UID和PWD为数据库连接的用户名和密码;
SQL:数据库查询语句,我们的用户认证就靠它了,其中%name为用户输入的用户名(用户输入的密码为%Password)。如果这条查询语句有值返回,则用户验证成功,否则验证失败,所以我们就可以构建查询语句来实现用户验证,例如我就增加了一个Enable字段来控制用户验证。
PasswordFormat:密码类型 0为自适应;

配置好Sqlauth dot aut,然后重启Steel-Belted Radius;启动好后,用admin 连接到服务器,如果你在server的status中看到 SQL connection established ,恭喜你,你的Steel-Belted Radius已经和SQL Server 连接成功了,如果有问题的话,可以在Steel-Belted Radius安装目录的Service文件夹中查看日志文件,其中记录了连接失败的原因,日志文件是以年月日命名的。


请问ODBC如何设置?

请帮忙处理,谢谢!

xnsxcoolczh 发表于 2008-4-21 15:59:34

我也碰到同样的问题 ,不知道如何解决

混乱逻辑 发表于 2008-7-30 19:37:08

应该是中的项目Profile 没有匹配.....我是把SQL=SELECT Password,Profile FROM userlist WHERE UserName = %name and Enable = 1改为SQL=SELECT Password FROM userlist WHERE UserName = %name and Enable = 1解决的...
页: [1]
查看完整版本: steel-belted radius中外挂的SQL数据库里的用户无法通过验证,请高手指点,谢谢!!!