正方单点接口规范_第1页
正方单点接口规范_第2页
正方单点接口规范_第3页
正方单点接口规范_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

接口规范2.1统一身份认证接口URL单点漫游模式在门户平台中点击业务系统的链接后,系统会产生类似下面的地址和参数01/index.asp?verify=0188F3F3BD26A72BD6D61C244DA38EE8&userName=20089006072&strSysDatetime=2009-07-0310:02:08&jsName=teacher 统一身份认证系统提供verify、userName、strSysDatetime、jsName等参数,userName是用户的登录名,strSysDatetime是数据中心服务器上的系统时间,jsName是用户的角色(teacher表示教职工,student表示学生) ,verify是校验码,md5加密信息 (32位加密)。所有的参数名称可根据业务系统的实际要求进行修改(管理员可通过统一身份认证系统后台进行自定义),比如:userName 改为 userID。verify格式:userName + 双方约定的一个key值 + strSysDatetime +jsName双方约定的一个key值存在数据中心的数据库中;业务系统经授权后可以直接读取key值或者在业务系统数据库创建一张表用于存放key值,以便修改。举例说明:原始串:20089006072zfdxc_cyj212009-07-0310:02:08teacher生成的md5加密串:0188F3F3BD26A72BD6D61C244DA38EE8z20220070709ZFSSOKEY2015-05-2814:13:17teacherD67728A7570A3926AA59AD84FFEC9511业务系统先获取各个参数userName(业务系统用户帐号)、strSysDatetime(时间戳)、verify(校验码),jsName(用户角色名),url(访问业务系统的某个地址),然后获取数据库时间,对比时间(注意双方服务器时间需保持标准时间)是否在允许的时间差范围内,若在时间差范围内,则需将userName、strSysDatetime、zf_key、jsName进行加密后与verify进行比较,若一致,则可以正常登录。以下是.net业务系统集成的代码范例供参考:username = Request.QueryString(username) If username Then str_xxmc = getstr(select xxmc from xxmc) time = Request.QueryString(strSysDatetime) key = getstr(select zfssokey from view_zf_key) verify = Request.QueryString(verify).ToUpper jsName = Request.QueryString(jsName) jmstr = username + key + time + jsName zf_verify = FormsAuthentication.HashPasswordForStoringInConfigFile(jmstr, MD5).ToUpper If username And CInt(getstr(select round(to_number(sysdate - to_date( & time & ,yyyy-mm-ddhh24:mi:ss)*1440*60) from view_zf_key) 60 Then Alert(连接超时!, Page) Exit Sub End If If getstr(select js from yhb where yhm= & username & ) = And getstr(select xh from xsjbxxb where xh= & username & ) = Then Alert(用户不存在!, Page) Exit Sub End If If username And zf_verify verify Then Alert(身份验证失败!, Page) Exit Sub End If Session(username) = username TextBox1.Text = username If jsName = bm Then TextBox2.Text = jiemi(getstr(select kl from yhb where yhm= & username & and js教师), Encrypt01) RadioButtonList1.SelectedIndex = 0 B_Click() ElseIf jsName = teacher Then TextBox2.Text = jiemi(getstr(select kl from yhb where yhm= & username & and js=教师), Encrypt01) RadioButtonList1.SelectedIndex = 1 B_Click() Else TextBox2.Text = jiemi(getstr(select mm from xsjbxxb where xh= & username & ), Encrypt01) RadioButtonList1.SelectedIndex = 2 B_Click() End If End IfZFCA认证模式单点登录用户登录到门户后,正常情况下,还要通过ZFCA服务端的验证,并返回给用户浏览器一个用户凭证,该用户凭证将以cookie的方式存储在用户浏览器端。同时,在ZFCA服务端还存储了一个session对象,包含了用户身份等信息。当用户通过门户直接登录到业务系统,事实上是在业务系统端存在一个过滤器(ZFSSOFileter)。在该过滤器中,通常情况下需要实现的是和ZFSSO服务端的通讯,并取得ZFSSO服务器端保存的Session信息。在业务系统的ZFSSOFileter中,需要判断session信息是否存在,若存在,则说明用户登录门户时已经通过了ZFSSO服务器的验证,此时可以证明该用户的身份是可信的。之后只需通过针对ZFSSO的验证即可。若session不存在,则需要重定向到ZFSSO服务端,进行身份验证等一系列操作,并将用户身份信息保存在session中。程序修改:1、 将zfcaclient.jar拷到应用程序lib目录下2、 修改ZFSSOFilter.java ,在认证通过后给应用系统的SESSION对象赋值。3、 在应用系统web.xml内加入filtel配置,配置详见web.xml。ZFSSOFilter.java修改说明:在类中/ TODO 获取内存中参数usezfca(zfca是否启用开关)的值,0为不启用ca认证进行代码修改,此例中是将参数usezfca存放在xml文件中,容器初始化时,读取xml中的值,并将其放入内存,在过滤链中读取参数值,1为开启zfca认证,0关闭。 参数的存放及获取方式可自行修改(如设为过滤链的初始化参数)/TODO 获取内存中的参数rzpturl的值(zfca认证中心地址),组合单点登录和验证地址进行代码修改,此例中是将参数usezfca存放在xml文件中,容器初始化时,读取xml中的值,并将其放入内存,在过滤链中读取参数值,1为开启zfca认证,0关闭。 参数的存放及获取方式可自行修改(如设为过滤链的初始化参数)/TODO 此处加入自已应用系统的session赋值信息,进行补充代码,完成应用系统需要的session赋值信息单点注销经过zfca认证模式配置的单点登录业务,可通过配置单点注销过滤器来实现统一注销。当业务系统访问zfca的/logout,将导致浏览器中已存储的Cookie被销毁掉,即销毁zfca与当前用户间已建立的信任关系(Web SSO会话)。1.将zfcasingleout.jar拷到应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论