U8知识库文档应用程序的入口,负责登录操作并获得相关登录信息、令牌等。什么是登录组件?登录U8应用程序的组件。目标本文主要介绍登录组件的基础知识,应用过程及相关注意事项,方便各类U8产品开发人员更好的使用登录组件,更高效的开发产品。登录组件可以做什么?主要功能:与加密服务器通讯,负责管理连接站点数是否超过加密狗中的站点数。加密控制在登录组件中实现,通过一次完整的登录过程,判断用户许可数。如果没有购买加密狗,产品允许使用两个月或者60天,如果购买了加密狗,超过许可数的用户,仍然只能使用演示版;所有产品,超过演示期,一律禁止使用。目前支持两种许可方式:单个模块的许可和包的许可1.按单个模块的许可每个模块独立计算许可,一个客户端使用多个不同的模块,则统计占用了多个许可.2.按包的许可以包统计许可,没有模块的概念,整个包近似与一个大的模块,计算许可的时候,按照客户端来统计,一个客户端可以使用多个模块(如果这些模块在同一个包中),只算一个许可.建立与应用服务器的连接登录成功后返回登录令牌,用此令牌可以获得登录信息(账套、年度、用户等)。使用环境:U8知识库文档版本;开发环境要求必须在Microsoft.NET的Framework3.5版本下进行如何使用登录组件?组件:UFSoft.U8.Framework.Login.UI在VB中引用登录组件1.在VB中点击主菜单中的“工程-引用”,随后出现的“引用”对话框中选中“UFSoft_U8_Framework_Login_UI”,然后点击“确定”,如下图所示:dll文件的方法函数图例如下U8知识库文档登录组件提供的主要方法:公共方法login方法对外提供的登录接口,支持不要登录界面的登录认证(如果参数都输全了)SubLogin方法主要完成门户的登录后对子系统登录的校验工作SubLogout方法子系统注销GetLoginInfo方法客户端返回登录需要的连接串信息等GetTaskID方法返回指定子系统的TaskIDGetDataSource方法得到服务端配置的数据源ShutDown方法注销登录过程GetDefaultConnstring方法得到服务端配置的数据源IsDemoToSubSystem方法得到子系统是否是演示版getAppConnstring方法得到具体应用的连接信息U8知识库文档登录成功,返回服务器端配置的文件服务器信息GetSubLoginInfo返回子产品的登陆信息集合ModifyUserPassword当登录成功后,修改用户密码公共属性ErrDescript返回错误信息IsCompanyVer返回标志,判断是否集团账套WorkStationName设置IE的站点名或IP地址(目的记录使用Web应用程序登录的当前工作站)userToken返回登录令牌dataSource返回当前登录使用的数据源Auditor设置审核人的信息方法详细解释:1.login方法对外提供的登录接口,支持不要登录界面的登录认证(如果参数都输全了)语法Boollogin(stringpSubId,stringUserId,stringPwd,stringappServer,stringoperDate,stringdataSource,stringWorkStationSerial,boolChangePwd,stringNewPassword,boolKickOutWorkStation)login方法的语法包含下列部分:部分描述SubId必需的。子产品号pSubId必需的。子产品号dataSource可选项,数据源UserId可选项,用户编号Pwd可选项,用户密码appServer可选项,应用U8知识库文档可选项,注册日期WorkStationSerial可选项,硬件序列号(必须全球唯一)ChangePwd必需的.本次登陆是否修改密码NewPassword可选项。如果ChangePwd=true,记录新密码KickOutWorkStation必需的。本次登陆是否踢除其他客户端,=true,同名用户不允许在多个客户端登陆返回值:true成功False失败返回举例PrivateSubmnu_login_Click(IndexAsInteger)DimpSubIdAsStringDimpUserIdAsStringDimpPasswordAsStringDimcSrvAsStringDimpDateAsStringDimpAccIdAsStringDimcSerialAsStringpSubId=GLpUserId=demopPassword=cSrv=echocloudpDate=2006-11-01pAccId=(default)@001cSerial=Ifologin.login(pSubId,pUserId,pPassword,cSrv,pDate,pAccId,cSerial,false,,false)=FalseThenMsgBoxm_NewLogin.ErrDescriptElseMsgBoxloginokEndIfEndSub2.SubLogin方法主要完成门户的登录后对子系统登录的校验工作,主要包括加密许可的控制,如果超过许可数,并且已经过三个月的演示期,则返回nothing.语法ProductContextSubLogin(stringSubId)SubLogin方法的语法包含下列部分:U8知识库文档必需的。子产品号返回值:产品在登录后在当前进程空间所保留的上下文举例PrivateSubmnu_sublogin_Click(IndexAsInteger)'第二步:子系统登录SetoLoginContext=ologin.SubLogin(GL)IfoLoginContextIsNothingThenMsgBoxologin.ErrDescriptElseMsgBoxsubloginok.EndIfEndSub返回3.SubLogout方法子系统注销,释放登录时占用的许可,与SubLogin成对出现语法voidSubLogout(stringSubId)SubLogout方法的语法包含下列部分:部分描述SubId必需的。子产品号举例ologin.SubLogout(GL)返回4.GetLoginInfo方法客户端返回登录需要的连接串信息等语法UserDataGetLoginInfo()UserData的语法包含下列部分:部分描述UserDatapublicclassUserData{publicstringUserId;//用户名publicstringPassword;//密码publicstringAccID;//帐套IDpublicstringiYear;//帐套年度publicstringcSubID;//子系统号publicstringAppServer;//应用服务器publicstringuuid;//publicstringDataSource;//数据源U8知识库文档年度库的连接串publicstringoperDate;//登陆界面的业务日期publicstringWorkStationSerial;//工作站的唯一序列号publicstringRightServer;//读取加密狗服务器publicstringLanguageID;//语言publicboolIsCompanyVer;//是否集团帐套=true,集团版publicHashtableSecondConnString;publicstringEmployeeId;//操作员对应的人员编码publicboolIsAdmin;//当前操作员是否是账套主管publicstringUserName;//操作员名称publicstringAccName;//账套名称publicintiMonth;//会计月publicstringAppServerSerial;//应用服务器唯一序列号publicstringRoles;//操作员隶属的角色组public_AuditorContextAuditor;//审核人publicstringBarCode;//加密狗的条码信息publicstringCustomer;//加密狗中记录的用户信息,可以为空publicintAuthenMode;//当前用户的身份认证方式,//(STATICPASSWORD=0,DYNAMICPASSWORD=1,CACERT=2)publicstringAuthenExtraInfo;//记录CA认证需要的额外信息publicstringIndustryType;//行业类型}_AuditorContextpublicinterface_AuditorContext{stringAuditorId{get;set;}//编码stringAuditorName{get;set;}//名称}返回值:登录信息5.GetTaskID方法返回指定子系统的TaskID语法stringGetTaskID(stringSubID)TaskExec方法的语法包含下列部分:部分描述SubID必需的。子产品号返回值:子系统的TaskID返回6.GetDataSource方法U8知识库文档(stringAppServerName,stringUserId)GetAccInfo方法的语法包含下列部分:部分描述AppServerName应用服务器的名称UserIdXml格式信息logininfouserid='demo'password='zhengyun'languageid='zh-cn'/返回值:xml格式的数据源编码返回7.ShutDown方法在进行完成相应的登陆流程后,必须通过通过该方法来关闭该控件,否则会浪费系统资源,与login成对出现语法voidShutDown()举例cologin.ShutDown返回8.GetDefaultConnstring方法得到服务端配置的默认数据源语法stringGetDefaultConnstring(stringAppServerName);部分描述AppServerName应用服务器的名称返回值:默认数据源对应的连接串返回9.IsDemoToSubSystem方法得到子系统是否是演示版,如果是演示版,建议在界面上警告用户。语法boolIsDemoToSubSystem(stringUserToken,stringSubID)IsDemoToSubSystem方法的语法包含下列部分:部分描述UserToken必需的。登录令牌SubID必需的。子产品号返回值:true演示版Fasle正式版返回U8知识库文档.getAppConnstring方法得到具体应用的连接信息语法stringgetAppConnstring(stringUserToken,stringSubID);ClosingStatus方法的语法包含下列部分:部分描述UserToken必需的。登录令牌SubID必需的。子产品号返回值:连接串返回11.GetPwdSecurityLevel方法得到给定密码的安全级别语法intGetPwdSecuri