Xlight使用SQL Server验证用户

作者:匿名 hihi 来源:ChinaZ源码报导 浏览: 2011-10-18 11:30:54 字号:
[摘要]Xlight FTP服务器是非常容易使用的FTP服务器。 为了保证高性能,FTP服务器全部用C语言写成,服务器运行时占用很少的系统资源。本文介绍Xlight通过使用SQL Server来验证管理用户。

  在我们的一个数据管理系统的项目中,需要让FTP使用与系统相同的用户。这就需要让FTP服务端访问数据库,取得用户信息。我们使用的Xlight FTP Server的外部权限鉴定功能能够轻松地实现这一功能。

环境

  • Windows 2008 R2 标准版
  • SQL Server 2008 R2 Express
  • Xlight 3.6.5

创建ODBC数据源

  运行odbcad32,启动ODBC数据源管理器,在用户DSN中添加新项,选SQL Server,之后填写相关信息,直到完成。

  最后一步不要忘了测试下数据源。

数据库的改动

  Xlight对查询数据库返回的结果格式有一定要求,需要要对数据库做一些改动。按照我们的设计,Xlight通过ODBC,在数据库中使用用户名和密码进行查询。如果查询成功,则取出到该用户对应的组。例如原数据库表中有如下数据:

  为了尽可能不影响原有数据库,我们选择使用创建视图而不是创建新表的方式来返回Xlight所需的数据。其中,Xlight ODBC数据库表结构可以在帮助文档中找到。

acct_table(用户表)

SELECT    0 AS host_id, 0 AS host_port, Account AS username, PasswordHash AS password, 0 AS no_password, NULL AS home_path, NULL AS home_perm, Role AS groupname, NULL AS expire_time, 0 AS hide_pub_path, 0 AS hide_grp_path, 0 AS enable_quotas, 0 AS enable_ratios, 0 AS freeze_user, 0 AS bypass_svr_max, NULL AS virtual_path_indexes, 0 AS param_index
FROM dbo.Account

acct_param_table(参数表)

SELECT    0 AS param_index, 0 AS max_down_speed, 0 AS max_up_speed, 0 AS max_user_conn, 0 AS max_conn_per_ip, 0 AS max_session_time, 0 AS max_down_file_num, 0 AS max_up_file_num, 0 AS max_session_down, 0 AS max_session_up, 0 AS max_down_file_size, 0 AS max_up_file_size, 0 AS disk_quotas, 0 AS ratios_type, 0 AS download_ratios, 0 AS upload_ratios, 0 AS starting_credit, 0 AS ftp_cmd_speed, NULL AS allowed_login_ip, NULL AS denied_login_ip, NULL  AS allowed_login_time, NULL AS deny_ftp_commands, NULL AS files_allow_access, NULL AS files_deny_access, 0 AS send_socket_buffer, 0 AS recv_socket_buffer

virtual_path_table(虚拟目录表)

SELECT    0 AS virtual_path_index, NULL AS virtual_path, NULL AS real_path, NULL AS permission 

设置Xlight全局选项中的ODBC数据源

  全局选项->高级->ODBC数据库设置,把刚才创建的ODBC数据源的信息输进去,测试通过后,即可确定。

设置站点的组用户

  为了方便起见,我们把所有权限相关的设置放在了Xlight的组权限中。当然,放在数据库中也是可以的。我们设定添加了新的组:“管理员”

  注意这边的组的名称和数据库中的相同。

设置站点属性,启用外部用户鉴权

  设定鉴权类型:ODBC,我们选择的密码类型:SHA1,勾选”忽略'host_id'列“、”忽略'host_id'列“

  所有的设置完成,试着用FlashFxp登录下,成功。

  • 软件大小:1.43MB
  • 软件类别:国外软件 | FTP服务器
  • 软件语言:简体中文
  • 运行环境:2000/XP/2003/Vista/Win7
  • 软件授权:试用版
  • 更新时间:2012-11-5 20:53:20
  • 相关链接:Home Page

本文来自:http://www.cnblogs.com/Realh/archive/2011/10/18/2135707.html

sssss
Tags: Xlight   SQL   Server   xlight验证  
责任编辑:190
编辑推荐排行