堡垒机-麒麟开源堡垒机代码分析-应用发布帐号同步部分

一、任务简介:

账号同步任务,同步的对象是数据库的账户信息和发布机的本地账户,它是一个后台的服务程序,监听一个端口,接收客户端的请求,处理来自客户端的四种命令:(1)扫描全表,同步账号;(2)添加指定的账号;(3)禁用指定的账号(4)生成BHO配置文件。其中命令(1)最为复杂,需要同时考虑数据库中的账号和本地的账号;所有的同步基础以数据库中的账号为准,如果数据库中有,但是本地没有,那就在本地自动新建账号;如果数据库没有,但是本地没有,那就将本地的账号禁用。具体的逻辑可参考代码。

二、核心代码剖析:

1AccounsSyncService程序分析:

n Config文件夹,配置文件

n AccountsSyncService.cs,账号同步的主程序:

p 启动服务,开启一个线程,监听端口:StartService()、OnStart()、Listen()

p 接收账号同步的命令,并执行账号同步的四种操作:AccounsSync()

p 初始化数据库连接:InitializeTables()

p 创建BHO页面密码填充的配置文件:CreateBhoLoginXml()

2AccountManagement程序分析:

n AccountManager.h、AccountManager.cpp:包括添加账号、删除账号、添加组、删除组、禁用账号、启用账号、修改密码等操作

3ServiceInstall程序分析:后台服务程序安装文件生成项目,可以将后台的服务程序自动生成可以双击安装的可执行文件“.msi”文件

 

 堡垒机-麒麟开源堡垒机代码分析-应用发布帐号同步部分_第1张图片

 

你可能感兴趣的:(免费堡垒机,堡垒机,开源堡垒机,麒麟开源堡垒机)