在企业信息化过程中,往往企业中会存一多套已经成熟且稳定应用的系统,系统使用人员通常在登录不同的系统时要输入不同的用户名或账号及密码,影响工作效率,同时在不同的系统中切换时非常繁琐.
      针对上述情况,在实际信息化实施中,我们实现了对于没有源码的CS系统一种另类解决方式.
 
      1\建立标准用户信息表,在单独的数据库中;
      2\维护各应用系统的用户信息与标准用户信息做对照;
      3\创建统一验证平台登录界面进行系统验证;
      4\获取欲进入系统的真正用户名\密码信息,使用钩子技术进行传递,完成用户名\密码输入和校验.


      这只是一个简单的原理,根据需要,还可能要增加各系统与统一验证平台之间用户名\密码统一的工作.

      附件有两个例子:有兴趣的朋友可以看一下.
      WinAppHOOK.exe   为集成验证平台原型.
      WinAppMaster.exe   为子系统原型.
      这个原型的功能,可以通过 WinAppHOOK填充 WinAppMaster的文本框和点击WinAppMaster的按钮.

       WinAppHOOK代码
 1简单SSO(Single sign-on)的另类实现方式,钩子技术using System;
 2简单SSO(Single sign-on)的另类实现方式,钩子技术using System.Text;
 3简单SSO(Single sign-on)的另类实现方式,钩子技术using System.Drawing;
 4简单SSO(Single sign-on)的另类实现方式,钩子技术using System.Collections;
 5简单SSO(Single sign-on)的另类实现方式,钩子技术using System.ComponentModel;
 6简单SSO(Single sign-on)的另类实现方式,钩子技术using System.Windows.Forms;
 7简单SSO(Single sign-on)的另类实现方式,钩子技术using System.Runtime.InteropServices; 
 8简单SSO(Single sign-on)的另类实现方式,钩子技术
 9简单SSO(Single sign-on)的另类实现方式,钩子技术namespace WinAppHOOK
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单击");
        }
    }
}

相关文章:

  • 2021-10-10
  • 2021-08-20
  • 2021-07-18
  • 2021-12-26
  • 2021-05-07
  • 2021-11-04
  • 2021-06-13
猜你喜欢
  • 2021-04-28
  • 2021-11-18
  • 2021-07-18
  • 2021-08-13
  • 2021-09-11
  • 2021-05-20
  • 2021-04-02
相关资源
相似解决方案