麒麟开源堡垒机应用发布功能代码分析

1.代码说明

麒麟开源堡垒机目前发布的代码共计分为五个模块,可以在码云下下载,这二天我看了应用发布部分的账号同步代码,进行简单的分析以共参考。

帐号同步程序的做用是把数据库的账户信息同步到发布机的本地账户,它是一个后台的服务程序,监听一个端口,接收客户端的请求。
程序处理来自客户端的四种命令:

扫描全表,同步账号;
添加指定的账号;
禁用指定的账号;
生成BHO配置文件;

其中扫描全表同步账号最为复杂,需要同时考虑数据库中的账号和本地的账号;所有的同步基础以数据库中的账号为准,如果数据库中有,但是本地没有,那就在本地自动新建账号;如果数据库没有,但是本地没有,那就将本地的账号禁用。具体的逻辑可参考代码。

2.模块分析

代码主要分为AccounsSyncService、AccountManagement二部分,其中AccounsSyncService为监听服务部分,负责监听端口、接收命令和初始化数据库连接等,AccountManagement为后台操作命令,用于对本地帐号的添加、删除等操作。

AccounsSyncService程序分析:
AccounsSyncService程序主要模块和函数列表如下:

Config文件夹,配置文件
AccountsSyncService.cs,账号同步的主程序:
启动服务,开启一个线程,监听端口:StartService()、OnStart()、Listen()
接收账号同步的命令,并执行账号同步的四种操作:AccounsSync()
初始化数据库连接:InitializeTables()
创建BHO页面密码填充的配置文件:CreateBhoLoginXml()

AccountManagement程序分析:
AccountManagement相对其它模块部分非常简单,只包括一个头文件和一个cpp程序,其中头文件为AccountManager.h,程序为件为AccountManager.cpp:包括添加账号、删除账号、添加组、删除组、禁用账号、启用账号、修改密码等操作

3.模块分析图

根据上面的分析,可以将代码的模块分析图列出如下:

关键字:开源堡垒机, 运维自动化, 账号, 数据库

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部