- By 天纵国际软件
- 2019-2-20 0:00:00
单点登录功能开发指南
客户需求:
实现天纵DEV智能开发平台所需的人员与主系统人员信息同步,单点登录,不用重复输入账号。
技术方案:
数据以主系统为准,人力资源部只需在主系统中进行用户账户数据维护,天纵智能开发平台从主系统读取人员信息,自动与主系统保持数据同步,实现两系统人员信息数据同步。
只在登录网站时输入一次账号和密码,登录“天纵B/S应用平台”时引用登录网站时的用户和密码,无需再次输入账号和密码。
数据库中用户信息同步:
在客户主系统中做二次开发,实现用户增加、修改时同时修改“天纵智能开发平台”数据库中的用户信息。用户管理表的数据结构(见《用户手册-系统开发》附表),具体代码由主系统开发人员编写。也可通过在数据库直接编写触发器去触发完成同步。
单点登录设计:
方案一、明码参数方式:
适合用后台代码链接方式,通过后台事件链接,则前台看不到密码。
http://localhost/dev/index.aspx?user=" + strUser + "&password=" + strPassword
1.strUser--用户名
2.strPassword-密码,明码,不用加密
注:此方式无需开启单点登录开关,主要用于平台扩展开发,自己开发登录入口或从自己开发的系统后台中链接到平台。
方案二、密码参数方式:
在公司门户网站上或办公自动化系统中做一个“天纵智能发平台”系统图标,图标之URL为:(点击此图标自动进入“天纵智能发平台”,无需输入账号和密码)
http://localhost/dev/index.aspx?ddU=" + strUser + "&ddP=" + strPassword
1.strUser--用户名
2.strPassword-密码,用MD5加密后再用下面加密算法加密
(注意:localhost改为WEB服务器之IP地址)
密码加密代码:
VB.NET
Public Shared Function strEncrypt(ByVal pToEncrypt As String) As String
Return Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(pToEncrypt))
End Function
C#.NET
public static string strEncrypt(string pToEncrypt)
{
return Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(pToEncrypt));
}
这是一段.NET写的代码,你可以转换成你的程序语言。如果你有自己的加密算法,也可和我们联系定制加密过程。
注:此方式需开启单点登录开关。在“开发平台-系统设置”中设置
方案三:用Cookies单点登录:
在主系统(如网站)登录时,将用户名及密码信息写入到以下两个Cookies中
BSPUserName存放用户名
BSPUserPass存放用户密码
此方法不用在URL地址中写入当前登录的用户名和密码,直接在连接地址中写入http://localhost/bsp/index.aspx就行了。此方法操作虽然简单,但有一个缺点,就是如果其他人直接在别人电脑的IE中输入此地址,也可自动登录之前登录用户的账户。
注:此方式需开启单点登录开关。在“开发平台-系统设置”中设置
用户可根据自己的实际情况来选择单点登录方法。同时在“开发套件-基础设置”中勾选“启用单点登录”选项。