NC系统身份认证方式实现说明文档.doc_第1页
NC系统身份认证方式实现说明文档.doc_第2页
NC系统身份认证方式实现说明文档.doc_第3页
NC系统身份认证方式实现说明文档.doc_第4页
全文预览已结束

下载本文档

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

文档简介

此文档收集于网络,如有侵权,请联系网站删除NC系统身份认证方式实现说明文档概述:NC系统是应用于高端企业集团ERP应用的产品,其地位决定了其系统安全性的重要,包括登录身份的认证和各种数据的安全。NC系统对数据的安全性的处理不在本文描述,本文主要阐述系统登录的身份认证的安全性及认证方式的实现。NC系统默认的身份认证方式是基于静态密码的认证方式。目前,在身份认证领域,也有许多厂家能提供更为安全可靠的认证方式,如CA认证,动态密码认证。为了提高NC系统本身在登录认证方面的安全性,NC系统提供了一套用于集成第三方认证方式的接口,能够方便地将更为安全的身份认证方式集成到NC系统中,进而加强NC系统在登录时身份认证的安全性。NC系统身份认证实现说明NC系统的身份认证集成接口主要包含:l 后台的认证接口:nc.bs.sm.identityverify.IAModel 前台的预处理接口:nc.bs.sm.identityverify.IloginPretreatmentl 前台的认证结果消息接口:nc.bs.sm.identityverify.IloginResultMessage一般实现某种身份认证方式即实现上述接口。一后台的认证接口是实现一个身份认证方式必须要实现的一个接口,不过在实际的代码中,一般都是继承nc.bs.sm.identityverify.AbstractIAMode抽象类,它实现了nc.bs.sm.identityverify.IAMode接口。程序员需要实现verify方法,在该方法中进行用户的身份认证。int verify(nc.vo.sm.login.LoginSessBean lsb, nc.vo.sm.UserVO userVO);参数:LoginSessBean lsb 主要存储登录用户的一些信息,如用户编码,用户密码,或其他一些信息(可以有LoginSessBean.put()方法和LoginSessBean.get()方法存取)。UserVO userVO 利用lsb中的公司信息和用户编码信息在数据库中查找到的nc用户对象,包含了nc用户的信息。返回值 int 表示身份认证的结果,如果身份认证成功,请返回nc.vo.sm.login.ILoginResult.LOGIN_LEGALIDENTITY。如果不合法,返回其他自定义的int值,但是自定义的返回值必须大于200 (小于200的返回值分配给系统自己使用)nc.bs.sm.identityverify.AbstractIAMode类有一个方法是Object getParameter(String key),它的是返回定义在配置文件中的参数,关于配置文件,后面将有描述。二前台的预处理接口是在前台运行的,它提供了在调用后台认证功能之前进行一些预处理操作的机会。例如一般在实现某种CA认证方式时,需要从usbkey中读取用户信息,以及对挑战码进行签名的操作等等,并将这些挑战码传输到后台,供身份认证使用,此时即可实现该接口。该接口定义了一个方法void pretreatment(LoginSessBean lsb) throws Exception,在该方法中进行上述的操作,一些需要传输到后台的信息利用lsb传递,例如用户编码,需要利用lsb.setUserCode方式设置。对于其他用于外系统进行认证的数据,如挑战码,应该使用lsb.put方法设置到lsb中,供后台调用void pretreatment(nc.vo.sm.login.LoginSessBean lsb) throws Exception参数:LoginSessBean lsb 这里的lsb主要用来存储一些后台认证需要的数据,可以使用lsb的相关方法进行设置,这个lsb对象将传递给后台的认证方法verify(nc.vo.sm.login.LoginSessBean lsb, nc.vo.sm.UserVO userVO);中的参数lsb。异常:出现一些需要终止操作的异常,可以抛出如果认证方式中不需要前台的预处理过程,可以不实现该接口。三前台的认证结果消息接口nc.bs.sm.identityverify.IloginResultMessage的作用主要在于,在我们的认证方法中返回的是int型数据,不能直接反馈给用户,故利用此接口进行认证结果的映射,将int型的认证结果翻译为用户能够理解的文字信息,这些文字信息将提示用户认证失败的原因。该接口方法定义如下:String getResultMessage(int intResult);参数: int intResult 该值由后台认证接口方法返回,返回值 String 返回给用户的对应intResult的提示文字四对于代码开发来说,实现上面的接口后,就完成了开发工作。紧接着就是需要进行一些配置工作,即可在NC系统中使用新的身份认证方式。对于nc3x的版本配置文件为./ierp/bin/IAConfig.xml,它的一般格式为:(例子)nc.bs.uap.ca.CAModeCA认证nccauserIDModeusercodetruenc.ui.uap.ca.CALoginPretreatmentnc.ui.uap.ca.CALoginResult对于nc5x的版本配置文件为./ierp/bin/IAConfig.xml,它的一般格式为:(例子) staticpwdnc.bs.uap.ca.CAModeCA认证nccauserIDModeusercodetruenc.ui.uap.ca.CALoginPretreatmentnc.ui.uap.ca.CALoginResult对于,如果程序中不需要额外的参数配置,可以不需要配置对于,如果认证方式中不需要前台的预处理过程,也可以不配置该项对于,如果没有额外的信息返回,也可以不配置该项附录:NC系统登录身份认证相关包及类nc.bs.sm.identityverify |AbstractIAMode#身份认证方式抽象类,一般实现某种认证方式都要实现该类|IAConfigFileTool #读写身份认证配置文件的工具类|IAConfSetupDlg#和IASetupFrame类一起配置身份认证配置文件|IAMode#身份认证方式接口类,由AbstractIAMode实现|IAModeFactory#在系统运行时根据身份认证配置文件构造一个认证方式对象|IASetupFrame#配置身份认证配置文件的工具|IASetupPanel#配置身份认证配置文件|StaticPasswordIAMode#系统默认的静态密码认证方式类,它实现了AbstractIAModenc.ui.sm.identityverify|DefaultLoginPretreatment#默认的登录预处理类|IloginPretreatment#登录预处理接口类。凡在登录前需要做的工作可实现该类来完成|IloginResultMessage #登录返回信息类。根据返回的int值得到string值。nc.vo.sm.identityverify|IAConfigFileVO#对应于身份认证方式配置文件的vo类|IAConfVO#对应于一种身份认证方式的vo类|IAContext#身份认证上下文类,可以通过该类获取身份认证方式需要的参数|IAParameterVO #对应于身份认证方式的参数vo类nc.vo.sm.login.LoginSessBean的相关方法:方法名称方法描述get(String)获取通过put方法设置的属性值put(String, Object)设置key-value属性值对getPk_crop()获取公司主键值setPk_corp(String)设置公司主键值getUserCode()获取用户编码setUserCode(String)设

温馨提示

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

评论

0/150

提交评论