您好,欢迎访问三七文档
当前位置:首页 > 资格认证/考试 > 技工职业技能考试 > 技能培训专题:加密与权限控制开发手册
加密与权限控制开发手册1.加密控制1.1功能介绍:加密控制在登录组件中实现,通过一次完整的登录过程,判断用户许可数。如果没有购买加密狗,产品允许使用演示版三个月,如果购买了加密狗,超过许可数的用户,仍然只能使用演示版;所有产品,超过演示期,一律禁止使用。目前支持两种许可方式:单个模块的许可和包的许可;1.按单个模块的许可每个模块独立计算许可,一个客户端使用多个不同的模块,则统计占用了多个许可.2.按包的许可以包统计许可,没有模块的概念,整个包近似于一个大的模块,计算许可的时候,按照客户端来统计,一个客户端可以使用多个模块(如果这些模块在同一个包中),只算一个许可.1.2使用环境:支持通狗和产品狗;开发环境要求必须在Microsoft.NET的Framework2.0.50727版本下进行1.3使用说明:组件:UFSoft.U8.Framework.Login.UI在VB中引用登录组件1.在VB中点击主菜单中的“工程-引用”,随后出现的“引用”对话框中选中“UFSoft_U8_Framework_Login_UI”,然后点击“确定”,如下图所示:备注:如果找不到UFSoft.U8.Framework.Login.UI.tlb,可以在命令行中执行如下命令,如下图:dll文件的方法函数图例如下登录组件提供的主要方法:1.login方法对外提供的登录接口,支持不要登录界面的登录认证(如果参数都输全了)语法Boollogin(stringpSubId,stringUserId,stringPwd,stringappServer,stringoperDate,stringdataSource,stringWorkStationSerial)login方法的语法包含下列部分:部分描述pSubId必需的。子产品号dataSource可选项,数据源UserId可选项,用户编号Pwd可选项,用户密码appServer可选项,应用服务器名operDate可选项,注册日期WorkStationSerial可选项,硬件序列号(必须全球唯一)返回值: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)=FalseThenMsgBoxm_NewLogin.ErrDescriptElseMsgBoxloginokEndIfEndSub2.SubLogin方法主要完成门户的登录后对子系统登录的校验工作,主要包括加密许可的控制,如果超过许可数,并且已经过三个月的演示期,则返回nothing.语法ProductContextSubLogin(stringSubId)SubLogin方法的语法包含下列部分:部分描述SubId必需的。子产品号返回值:产品在登录后在当前进程空间所保留的上下文举例PrivateSubmnu_sublogin_Click(IndexAsInteger)'第二步:子系统登录SetoLoginContext=ologin.SubLogin(GL)IfoLoginContextIsNothingThenMsgBoxologin.ErrDescriptElseMsgBoxsubloginok.EndIfEndSub3.SubLogout方法子系统注销,释放登录时占用的许可,与SubLogin成对出现语法voidSubLogout(stringSubId)SubLogout方法的语法包含下列部分:部分描述SubId必需的。子产品号举例ologin.SubLogout(GL)4.ShutDown方法在进行完成相应的登陆流程后,必须通过通过该方法来关闭该控件,否则会浪费系统资源,与login成对出现语法voidShutDown()举例ologin.ShutDown5.IsDemoToSubSystem方法得到子系统是否是演示版,如果是演示版,建议在界面上警告用户语法boolIsDemoToSubSystem(stringUserToken,stringSubID)IsDemoToSubSystem方法的语法包含下列部分:部分描述UserToken必需的。登录令牌SubID必需的。子产品号返回值:true演示版Fasle正式版登录组件提供的公共属性1.ErrDescript返回错误信息,所有登录组件提供的方法,如果返回值是布尔型且为false,则通过这个属性可以查看详细信息语法stringErrDescript{get;}1.4应用案例:新增模块的步骤:1.注册到数据库中可以调用存储过程sp_LoadUASubsys_Base举例:新增模块:'DM,中文名称:宿舍管理,EXECUTEsp_LoadUASubsys_Base'DM',N'宿舍管理','zh-CN',642.刷加密狗,统一由总部将新增产品写到加密狗中,并需通知平台的人处理3.直接调用登录组件就可以满足加密控制1.5应用技巧:开发技巧介绍;1.6应用习题:1.新增模块,进行加密控制;2.进行演示期的判断2.功能权限控制2.1功能介绍:功能权限控制提供了两个版本,VB版和Net版。VB版主要给客户端使用,Net版主要给服务端使用。主要根据互斥级别,进行功能的申请和释放,注意:功能权限只处理末级权限。2.2使用环境:2.3使用说明:组件:U8Login(VB版本)在VB中引用U8Login组件在VB中点击主菜单中的“工程-引用”,随后出现的“引用”对话框中选中“U8login”,然后点击“确定”,如下图所示:dll文件的方法函数图例如下U8Login提供的主要方法:1.TaskExec方法系统功能的申请和释放。根据参数的不同可以执行不同类型的功能申请语法object.TaskExec(ByValpAuth_idAsString,ByValbIsLockAsInteger,OptionalByValiYearAsInteger)AsBooleanTaskExec方法的语法包含下列部分:部分描述Object必需的。代表一个对象表达式,其值是U8login对象pAuth_id必需的。bIsLock=10子产品号其余功能号bIsLock必需的。申请锁的类型=10判断当前子系统是否已买授权=2仅判断当前操作员是否对功能pAuth_id在登录的账套、年度里具有操作权限,不判断功能号是否存在,推荐使用=1=1判断当前操作员在登录账套是否有功能权限,可以切换年度,不输,默认登录年度=-1判断当前操作员是否有功能权限且申请的功能权限是否与其他正在运行的功能互斥=0释放权限=3同=-1,特殊处理authtype=3的功能,bIsLock=3要求与非本机本模块的reg互斥iYear可选项,年度返回值:True成功False失败举例'执行功能申请PrivateSubmnu_taskApply_Click()Callvblogin.ConstructLogin(ologin.userToken)vblogin.TaskId=ologin.GetTaskID(GL)Ifvblogin.login(GL)=FalseThenMsgBoxcreateu8loginfailed+vblogin.ShareStringExitSubEndIfIfvblogin.TaskExec(WA01012,-1)=FalseThenIfvblogin.LogState0ThenMsgBoxvblogin.ShareStringElseMsgBox出现无法预知的错误,无法申请功能!EndIfExitSubElseMsgBoxOK_WA01012EndIfEndSub2.TaskExecEx方法执行功能申请,判断业务的互斥操作,提供按照分类进行授权语法object.TaskExecEx(ByValpAuth_idAsString,ByValbIsLockAsInteger,OptionalByValiYearAsInteger,OptionalByValpAuthClassCodeAsString=)AsBooleanTaskExecEx方法的语法包含下列部分:部分描述Object必需的。代表一个对象表达式,其值是U8login对象pAuth_id必需的。bIsLock=10子产品号其余功能号bIsLock必需的。申请锁的类型=10判断当前子系统是否已买授权=2仅判断当前操作员是否对功能pAuth_id在登录的账套、年度里具有操作权限,不判断功能号是否存在,推荐使用=1=1判断当前操作员在登录账套是否有功能权限,可以切换年度,不输,默认登录年度=-1判断当前操作员是否有功能权限且申请的功能权限是否与其他正在运行的功能互斥=0释放权限=3同=-1,特殊处理authtype=3的功能,bIsLock=3要求与非本机本模块的reg互斥iYear可选项,年度pAuthClassCode业务分类,如:工资类别,如果输入这个参数,意味着虽然在互斥表中这两个功能互斥,但是只要工资类别不相同,则认为此两个功能不互斥返回值:True成功False失败组件:UFSoft.U8.Framework.SecurityCommon(Net版本)在VS2005中使用权限组件1、新建立一个VS2005类库项目2、在项目中添加下面DLL的引用%U8Soft%\AppServer\Bin\Framework\UFSoft.U8.Framework.SecurityCommon.dll%U8Soft%\AppServer\Bin\Framework\UFSoft.U8.Framework.LoginContext.dlldll文件的方法函数图例如下UFSoft.U8.Framework.SecurityCommon提供的主要方法:1.TaskExec方法系统功能的申请和释放。根据参数的不同可以执行不同类型的功能申请语法boolTaskExec(stringpAuth_id,shortbIsLock,shortiYear)TaskExec方法的语法包含下列部分:部分描述pAuth_id必需的。bIsLock=10子产品号其余:功能号bIsLock必需的。申请锁的类型=10判断当前子系统是否已买授权=2仅判断当前操作员是否对功能pAuth_id在登录的账套、年度里具有操作权限,不判断功能号是否存在,推荐使用=1=1判断当前操作员在登录账套是否有功能权限,可以切换年度,不输,默认登录年度=-1判断当前操作员是否有功能权限且申请的功能权限是否与其他正在运行的功能互斥=0释放权限=3同=-1,特殊处理authtype=3的功能,bIsLock=3要求与非本机本模块的reg互斥iYear年度返回值:True成功False失败举例privatevoidmoduleAuth_Click(objectsender,EventArgse){CalledContextContext=newCalledContext();Context.subId=FA;Context.token=Login.userToken;ModuleAuthauth=newModuleAuth(Context);if(!auth.TaskExec(FA0515,-1)){if(auth.ErrNumber!=0){MessageBox.Show(auth.ErrDescript);}else{Message
本文标题:技能培训专题:加密与权限控制开发手册
链接地址:https://www.777doc.com/doc-8484648 .html