1. 相关软件: 如上图所示,一共四个文件,分为两部分,其中: (1)ClientSocket.php和ClientTest.exe,是客户端软件,模拟账号同步命令的发送,用于测试服务。前台调用方式请参考文件ClientSocket.php里的函数; (2)ServicInstall.msi和setup.exe是账号同步软件的安装文件 2. ODBC数据配置:请确保本地配置好了ODBC源,数据源名称为“audit”,数据库名为“audit_sec”,如果已经配置好,则可跳过此步: 3. 安装账号同步软件:将文件夹“Freesvr”复制到C盘,进入该文件夹,直接双击“setup.exe文件即可” 注:双击setup.exe会自动检查依赖库,有可能会提示安装.net4.0 client profile简体中文语言包,安装即可。 安装好后,打开本地服务,可以看到名称为“AccountsSyncService”的服务,请重启该服务器,以确保程序可用,如果如下图所示
重启服务:
4. 测试服务4.1 用ClientText.exe进行测试双击文件夹中的“ClientText.exe”文件,如下图所示:
程序一共可以处理四种命令: Ø 命令一:扫描全表,同步账号;命令格式:async <ip> <port>,此命令会一次性同步数据库表中的所有账号到本地,此命令返回结果: (1) 成功,返回字符串:"1,已成功同步数据库的所有账号到本地!" (2) 失败,返回字符串:"0,同步数据库的所有账号到本地失败!" Ø 命令二:添加指定的账号;命令格式:async <ip> <port> <username>1,此命令只会在本地添加指定username的账户,此命令返回结果: (1) 成功,返回字符串:"1,添加账号成功!" (2) 失败,返回字符串:"0,添加账号失败!" Ø 命令三:禁用指定的账号;命令格式:async <ip> <port> <username>2,此命令只会在本地禁用指定username的账户,此命令返回结果: (1) 成功,返回字符串:"1,禁用账号成功!" (2) 失败,返回字符串:"0,禁用账号失败!" Ø 命令四:生成BHO配置文件;令格式:async <ip> <port> 3,此命令用于生成BHO配置文,此命令返回结果: (1) 成功:返回字符串:"1,生成BHO配置文件成功,文件所在目录:" (2) 失败:返回字符串:"0,生成BHO配置文件失败!" 注:返回的字符串中,有返回码0和1代表执行失败和成功,以及对应的信息,二者用逗号隔开。 (1)我们先测试命令2:添加用户 输入命令: async 10.11.0.59 8888 adminTest 1 命令说明:一共五个参数,各个参数用空格隔开,10.11.0.59为安装同步服务的主机IP,默认端口是8888,如果配置文件中配置了端口,则用配置文件中的端口! 该命令会自动在本地添加账号,但是会先查询数据库中该账号是否存在,以及获取该账号的密码;如果获取失败,则不添加;获取成功后,若本地没有该账号则添加,如果有则重新启用,并将密码修改会数据库中的密码。 由于数据库中并不存在账号,adminTest,所以结果如上。 (2)我们再测试命令1:扫描数据库全表,同步本地账号 输入命令: async 10.11.0.59 8888 同步方式:数据库中有,本地没有,则新建;数据库没有,本地有则禁用;数据库中有,本地也有,则修改默认密码。 执行命令前,本地的账号和分组如下: 执行命令后: 会发现自动多了数据库中的账号(为了简单测试下,我只从数据库中读了两条记录),其余账号均被禁用。 多了一个组freesvr: 同时会把账号添加到远程登录的组中 (3)我们再测试命令3 输入命令:async 10.11.0.59 8888 admin 2 禁用掉用户“admin”;结果如下:
发现amdin账号已经被禁用(那个红色的叉会不会立即显示,需要刷新下才能看到,不过直接看amdin属性发现已经被禁用); (4)我们再测试命令2,添加账号admin 输入命令:async 10.11.0.59 8888 admin 1 因为数据库中,已经有该账号,所以判断本地是否有该账号,如果没有则新建;如果有,判断是否被禁用,如果被禁用则重新启用,否则只修改密码。 因为本地已经有了,所以则会重新启用,然后修改密码。 可以发现admin账号被重新启用。 (5)测试命令4 输入命令:async 10.11.0.59 8888 3 执行完同步命令后会自动同步bho.xml文件,文件默目录是“C:\ Freesvr\BHO”,如果配置文件中进行了配置,则会使用配置文件中的目录,需要注意的是,该目录的配置与应用程序发布中BHO文件夹中配置文件的目录要相同,这样BHO钩子才能读取到文件: 4.2用ClientSocket.php进行测试该php文件里,只有一个函数,用于向服务器端发送账号同步的请求,如下图所示,详细代码请参考文件: 这里简单展示一下测试结果: (1)首先测试命令2, 执行如下函数: 命令2是添加指定用户,执行结果:
如果命令2换成 执行结果:由于数据库中不含有该账号,因此添加失败。 (2)测试命令3: 执行如下函数 执行结果:
账号禁用成功! 命令1这里就不在测试,前面已经用“ClientText.exe”测试过了。 5. 修改配置文件账号同步服务程序的默认安装目录是: “C:\ProgramFiles\Freesvr\AccountsSyncService”
如果修改了配置文件,重新启动服务后才能生效,配置文件内容如下:第一个是默认密码的开关,取值有两个:“ON”代表采用默认密码,“OFF”代表采用数据库中的密码
|