单点登录(自制登录页面)

场景描述:用户刷卡登录,刷卡后在输入框会有一串数字,是唯一的。与用户表【用户卡号】字段对应
第一步:管理员登录进行第三方系统授权

第二步:编写第三方程序(含登录页面,新建C#桌面程序)

private void button1_Click(object sender, EventArgs e)
{
//[1]数据验证
if (this.textBox1.Text.Trim().Length==0)
{
//this.lblMsg.Text = "请输入登陆账号!";
MessageBox.Show("请输入登陆账号!");
return;
}
else
{
string loginNumber = this.textBox1.Text.Trim();
//string userName = Convert.ToString(this.Context.UserName);
string flag = getLoginUserName(loginNumber);
if (!"".Equals(flag))
{
int lcId = 2052;
long timestamp = DateTimeFormatUtils.CurrentTimeMillis() / 1000;//时间戳
string dbId = "5db7948c4848e5";//数据中心ID本地
string usserName = flag;//用户名称
string appId = "204262_T0eARYhETnr+X+XF0cwrV6WM7s6d6Dts";//第三方系统应用Id本地
string appSecret = "dc856ca146a64d80b4fe944a57201486";//第三方系统应用秘钥本地
string[] arr = new string[] { dbId, usserName, appId, appSecret, timestamp.ToString() };
string sign = Kingdee.BOS.Util.SHA1Util.GetSignature(arr);//签名
SimplePassportLoginArg arg = new SimplePassportLoginArg();
arg.appid = appId;
arg.dbid = dbId;
arg.lcid = lcId.ToString();
arg.origintype = "SimPas";
arg.signeddata = sign;
arg.timestamp = timestamp.ToString();
arg.username = usserName;
arg.entryrole = string.Empty;
arg.formid = string.Empty;
arg.formtype = string.Empty;
arg.otherargs = string.Empty;
arg.pkid = string.Empty;
string argJosn = Kingdee.BOS.JSON.KDObjectConverter.SerializeObject(arg);//json格式
string argJsonBase64 = System.Text.UTF8Encoding.Default.GetBytes(argJosn).ToBase64();//base64编码
string silverlightUrl = "http://localhost/K3Cloud/Silverlight/IndexSL.aspx?ud=" + argJsonBase64;// Silverlight入口链接本地
System.Diagnostics.Process.Start("iexplore.exe", silverlightUrl);
}
}
}
public string getLoginUserName(string F
单点登录(自制登录页面)
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



