金仕达卫宁统一认证及单点登录接口规范Word文档下载推荐.docx
《金仕达卫宁统一认证及单点登录接口规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《金仕达卫宁统一认证及单点登录接口规范Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
4
loginid
业务系统中用户登录ID
5
captcha
验证码
6
loginflag
登录标志
首次登录时为1,非首次登录为2
7
extendparam
可扩展参数
XML格式,key、value的形式实现,空的参数会传入‘-’符号。
暂空
判断loginflag值:
业务系统读取参数中的loginflag值,根据不同的值进行不同的业务流转。
验证本地用户名和密码:
业务系统根据loginflag判断是否弹出登录界面,当loginflag为1时弹出登录界面。
用户输入业务系统本地的用户名和密码,业务系统按照本地的验证逻辑验证成功后进入下面的步骤。
不成功则再次弹出登录界面。
调用注册用户信息:
首次登录时,业务系统验证本地系统的用户名和密码成功后,将登录的用户ID和用户名称通过服务注册到平台。
如果业务系统采用的用户信息和单点登录系统是同一套则此过程可以省略。
详见注册用户信息服务。
调用登录安全验证:
业务系统被启动之后需调用认证服务的验证服务,以确保此次启动是合法的。
详见登录安全验证服务。
调用通知关闭服务:
业务系统关闭前需要调用平台服务关闭通知服务通知单点登录系统。
详见关闭通知服务。
关闭程序:
单点登录系统根据通知进行相应处理,并返回结果。
业务系统根据此结果选择关闭系统与否。
第二章统一认证
对用户的用户名进行统一的管理和维护,对各个业务系统的用户名和密码的管理。
同时能够提供服务的方式与各业务系统进行数据交换。
注意:
本章节只考虑从业务系统直接登录的情况,如果采用单点登录方式登录请参考第一章。
二、交互流程图
平台用户维护:
平台管理员在平台管理界面中对平台的用户进行维护,包括新增、修改和删除。
业务系统信息注册:
业务系统通过调用平台的业务系统信息注册服务将业务系统的信息注册到平台统一认证系统中。
业务系统用户登录(平台用户名和密码):
在业务系统弹出的登录界面中输入平台用户名和密码。
注意缓存平台的用户名。
调用平台认证服务:
业务系统通过调用平台的统一认证服务验证用户名及密码。
调用此服务可能有三种返回值的情况,详见服务描述。
当业务系统的用户与平台用户采用同一套时,返回值中是不会出现AR的情况,接下来的流程可以省略。
业务系统用户登录(业务系统用户名和密码):
业务系统再次弹出登录界面,但是与“业务系统用户登录(平台用户名和密码)”情况不同。
在此登录界面输入业务系统的用户名和密码,并且验证是业务系统本地的验证。
本地验证:
业务系统采用本系统的用户名和密码验证逻辑。
调用用户注册服务:
业务系统调用平台的业务系统用户注册服务上传本地用户并与平台用户进行绑定。
进入业务系统:
业务系统通过验证后加载数据。
修改平台密码:
业务系统调用平台的统一修改密码服务,修改平台中的密码。
修改本地密码:
业务系统修改平台密码成功后修改本地密码,保持本地密码与平台密码同步。
第三章统一权限管理
对业务系统的所有权限点进行统一的管理和维护,业务系统通过平台服务进行权限点信息的交互。
二、交互流程图
上传权限点:
业务系统调用平台的业务系统权限信息注册服务,将业务系统的权限信息上传到平台中进行统一管理。
角色与权限点维护:
平台管理员通过管理程序对角色和权限的信息进行维护。
用户与角色维护:
调用用户权限信息:
业务系统在成功通过平台的统一验证之后,调用获取用户权限服务来加载权限信息。
具体详见获取用户在业务系统的权限服务
第四章服务接口说明
采用WEBSERVICE的方式提供服务。
有如下服务:
业务系统信息注册
业务系统权限信息注册
业务系统用户注册
获取用户在业务系统的权限
登录安全验证
获取已注册的业务系统列表
获取已注册的业务系统权限列表
统一认证时登录验证
关闭单点登录窗口
修改用户密码
平台服务主要分为三大类:
注册服务:
1、业务系统信息注册。
函数名
ApplicationRegister(stringinputdata)
应用场景
启用统一登录及统一认证前,业务系统将系统信息注册到平台。
输入参数说明
varchar(30)
业务系统ID。
可由医院预先分配好
appname
varchar(40)
业务系统的名称
appversion
varchar(10)
业务系统的版本
companyname
varchar(50)
所属公司的名称
decription
varchar(100)
系统的描述信息
格式
<
?
xmlversion="
1.0"
encoding="
GB2312"
standalone="
yes"
>
data>
appid>
业务系统ID<
/appid>
appname>
系统名称<
/appname>
appversion>
系统版本号<
/appversion>
companyname>
公司名称<
/companyname>
decription>
系统的描述信息<
/decription>
technicaltype>
程序架构0:
C/S1:
B/S<
/technicaltype>
/data>
返回值参数
retcode
String
状态码,AA:
成功AE:
失败
msg
string
失败原因
output>
retcode>
状态码<
/retcode>
msg>
失败原因<
/msg>
/output>
2、业务系统权限信息注册。
函数
PermissionRegister(stringinputdata)
启用统一登录及统一认证前,业务系统将系统的权限信息注册到平台。
便于平台统一维护用户权限。
业务系统注册后被分配的ID
permissionid
业务系统分配的权限ID
permissionname
varchar(255)
权限名称
permissiondesc
varchar(255)
权限描述
permissiontype
varchar(20)
权限类型,由业务系统自己定义,如菜单、
控件等。
parentid
父权限ID
无父权限时传空
havechildpermission
Varchar
(1)
是否有子权限,0:
无1:
有
operationtype
操作类别:
0增加1修改2删除
<
业务系统ID<
permissionid>
权限ID<
/permissionid>
permissionname>
权限名称<
/permissionname>
permissiondesc>
权限描述<
/permissiondesc>
permissiontype>
权限类型<
/permissiontype>
parentid>
父权限ID<
/parentid>
havechildpermission>
是否有子权限<
/havechildpermission>
operationtype>
操作类别<
/operationtype>
3、业务系统用户注册。
LoginInfoRegister(stringinputdata)
首次使用单点登录系统登录业务系统时调用。
目的是映射业务系统用户与平台用户
Appid
Userid
平台中统一用户的ID
Loginid
varchar(20)
业务系统中登录的ID。
Loginname
Varchar(40)
业务系统中的用户名
Password
暂不用,传空
系统ID<
userid>
平台用户ID<
/userid>
loginid>
业务系统的用户ID<
/loginid>
loginname>
业务系统的用户名称<
/loginname>
password>
密码<
/password>
Retcode
Msg
/output>
4、用户密码修改
UpdatePassword(stringinputdata)
业务系统修改平台用户密码时调用此方法。
oldpassword
newpassword
varchar(40)
oldpassword>
旧密码<
/oldpassword>
newpassword>
新密码<
/newpassword>
查询服务:
1、获取用户在业务系统的权限。
QueryUserPermissionList(stringinputdata)
通过单点登录系统登录业务系统后,调用此函数获取用户在本系统的权限。
例如:
登录HIS系统后,可先获取最顶层权限(用户能进入哪些子系统);
进入子系统时,再获取用户能进入哪些菜单的权限。
传入参数说明
applicationid
业务系统的用户ID
Varchar(30)
-1是返回所有权限、为空时返回第一级权限、其他则返回其对应的子权限
Varchar(20)
权限类别ID
为空时返回所有权限
applicationid>
/applicationid>
权限类别ID<
dataset>
row>
perimssionid>
权限ID<
/perimssionid>
perimssionname>
权限名称<
/perimssionname>
perimssiondesc>
/perimssiondesc>
fatherpermissionid>
/fatherpermissionid>
权限类型ID<
/row>
……
/dataset>
2、获取已注册的业务系统列表。
QueryApplicationList(stringinputdata)
查询本系统是否已注册,获取所有已注册的系统。
systemid>
/systemid>
systemname>
/systemname>
systemdescript>
系统描述<
/systemdescript>
version>
版本号<
/version>
company>
/company>
3、获取已注册的业务系统权限列表。
QueryPermissionList(stringinputdata)
查询本系统已注册过的权限,在不确定已注册过哪些权限的情况下可调用本服务。
业务系统注册的ID
permissiontypename>
权限类型名称<
/permissiontypename>
inputtime>
注册时间<
/inputtime>
验证服务:
1、登录安全验证。
LoginVerify(stringinputdata)
从单点登录窗口登录业务系统时,会以参数形式传递给业务系统一个验证码,然后再调用此函数验证是否是安全登录,返回值为AA时应成功登录,否则应拒绝登录。
当前登录的业务系统ID
当前登录的业务系统用户ID
macaddress
当前做登录操作的电脑mac地址
登录时平台传入的验证码
当前登录的业务系统用户ID<
macaddress>
当前做登录操作的电脑mac地址<
/macaddress>
captcha>
登录时平台传入的验证码<
/captcha>
2、统一认证时登录验证。
CertificationLoginVerify(stringinputdata)
业务系统登录时调用此服务,验证用户名、密码。
返回值AA时验证成功,可登录系统;
返回AR时未映射平台用户与业务系统用户;
返回AE时表示验证失败。
统一用户ID
password
统一用户的登录密码
统一用户ID<
统一用户的登录密码<
/password>
失败AR:
未映射平台用户与业务系统用户
Retcode为AA时,msg返回业务系统的用户ID;
retcode为AE、AR时,msg返回错误信息
通知服务:
1、关闭单点登录窗口。
CloseSSO(stringinputdata)
关闭业务系统时应弹出提示框‘是否关闭单点登录窗口’,选择‘是’时,业务系统应调用此服务通知平台关闭单点登录窗口
平台用户ID
x