针对上述情况,在实际信息化实施中,我们实现了对于没有源码的CS系统一种另类解决方式.
1\建立标准用户信息表,在单独的数据库中;
2\维护各应用系统的用户信息与标准用户信息做对照;
3\创建统一验证平台登录界面进行系统验证;
4\获取欲进入系统的真正用户名\密码信息,使用钩子技术进行传递,完成用户名\密码输入和校验.
这只是一个简单的原理,根据需要,还可能要增加各系统与统一验证平台之间用户名\密码统一的工作.
附件有两个例子:有兴趣的朋友可以看一下.
WinAppHOOK.exe 为集成验证平台原型.
WinAppMaster.exe 为子系统原型.
这个原型的功能,可以通过 WinAppHOOK填充 WinAppMaster的文本框和点击WinAppMaster的按钮.
WinAppHOOK代码
1
using System;
2
using System.Text;
3
using System.Drawing;
4
using System.Collections;
5
using System.ComponentModel;
6
using System.Windows.Forms;
7
using System.Runtime.InteropServices;
8
9
namespace WinAppHOOK
10
}
2
3
4
5
6
7
8
9
10
WinAppMaster代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WinAppMaster
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
MessageBox.Show("Master单击");
}
}
}