Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

1.描述

单点登录可使用户从其他应用程序或网站中跳转到活字格的页面时,自动以原应用的用户名登录活字格的网站。

单点登录的原理图如图1所示。

图1  单点登录原理图

GetUserToken 接口说明

请求方式

Post

参数

参数

说明

userName需要登录的用户名。
password

单点登录密码。


返回值

字符串。如果获取Token成功,返回的字符串不以 “Error:”开头;如果获取Token失败,返回的字符串为错误信息并以“Error:”开头,方便调试定位。

说明
用户名必须在活字格的用户管理系统中存在。

2.设置单点登录

在活字格的设计器,选择“文件->设置->与另外的网站集成”,可查看与设置单点登录的密码。设置说明见表1

图2  单点登录

表1  单点登录设置说明

设置

说明

允许单点登录是否开启单点登录,默认不开启,值为False。
单点登录密码

获取用户Token时所需的密码。

打开设计器时会随机生成一个密码。允许单点登录后,如果不保存文件,下次再打开时密码会重新生成;如果保存了文件,再打开时密码则不会改变。

Token超时时间Token的有效时间。


设置单点登录后,在已有的应用程序写下如下代码:

var baseUrl = "http://localhost:25979/Forguncy";
var userName = "administrator"; 
var password = "7FBqkHeV!4Rw";  // 这个密码是单点登录密码
HttpWebRequest rq = HttpWebRequest.Create(baseUrl + "/SSO/GetUserToken") as HttpWebRequest;
rq.Method = WebRequestMethods.Http.Post;
rq.Accept = "application/json";
rq.ContentType = "application/json";
var loginStr = "{userName:\"" + userName + "\", password:\"" + password + "\"}";
var data = Encoding.UTF8.GetBytes(loginStr);
using (Stream stream = rq.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}
var response = rq.GetResponse();
var token = new StreamReader(response.GetResponseStream()).ReadToEnd();
if(token.StartsWith("Error:"))
{
    MessageBox.Show(token);
    return;
}
Process.Start(baseUrl + "?token=" + token);
说明
  • 此功能仅适用于Form用户,Windows域用户无法使用该功能。
  • 需要登录的用户名必须在活字格应用中已经存在。
  • 为了确保安全,单点登录的密码不要在JavaScript代码中出现,以防泄露。

直接修改发布后的密码

在服务器上的“C:\Users\Public\Documents\ForguncyServer\应用名”目录下找到“Config.xml”配置文件,打开并编辑Password的值,如下图所示。

说明
  • 如果Password节点中没有值,则表示密码为打开设计器时随机生成的密码。
  • 修改后需要重启网站。


第三十五章 单点登录

  • No labels