中南大学数据库技术与管理课件9.8 系统安全控制.pptVIP

中南大学数据库技术与管理课件9.8 系统安全控制.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.8 系统安全控制 PB提供了许多维护系统安全性的功能,其中很重要的一点是可采用动态SQL语句对用户和角色进行维护。在应用系统中我们采用一些技术实现8.6中提出的方法,具体过程如下: 在某核心用户下建立一Username表(用户信息表),其中主要包括下列字段:username(用户名),userrole(用户角色), userdw(用户所在单位),usersystemdm(用户所使用系统代码), computer_name(用户所使用机器)。在登录界面上放置一个复选框、四个文本框和四个单行编辑框,文本框为提示信息,复选框选中后,显示修改口令和重复修改口令的文本框和单行编辑框,并在重复输入修改口令后,检验两次输入口令是否一致,如果一致,则继续,否则, 9.8 系统安全控制 提示用户重新输入。未选中时只显示用户名和用户口令的文本框和单行编辑框。用户输入所需信息后,按“确定”按钮或“退出”按钮。全局变量vusername、vuserpassword、 vusernewpassword分别存储输入的用户名、口令和修改后的新口令。其窗口如图9.7所示: 图9.7 用户登录窗口W_login 9.8 系统安全控制 复选框Cbx_1主要是选择修改口令时显示静态文本框st_3和st_4、单行编辑框sle_3和sle_4,否则上述四个控件不显示,因而在窗口W_login的Open事件中应使上述四个控件隐蔽,CBX_1的Clicked事件脚本为: IF cbx_1.checked=true THEN//复选框选中后,显示控件 sle_3.visible=true sle_4.visible=true st_3.visible=true st_4.visible=true 9.8 系统安全控制 ELSE//复选框未选中,隐蔽控件 sle_3.visible=false sle_4.visible=false st_3.visible=false st_4.visible=false END IF 9.8 系统安全控制 在口令校验的单行编辑框sle_4的losefocus事件中,检验两次输入的口令是否一致。其方法为先获取两次输入的口令,进行比较,如果相同,焦点聚集在“确定”命令按钮上,否则焦点聚集在sle_4上。其脚本请自己补充。 窗口W_login中的“确定”按钮的Clicked事件的简化脚本如下: SQLCA.DBMS= “O91 ORACLE9i” SQLCA.Database= SQLCA.UserId=vusername SQLCA.DbPass=vuserpassword SQLCA.LogPass=vuserpassword SQLCA.ServerName=@wz.world//wz为数据库的别名 9.8 系统安全控制 SQLCA.LogId=vusername SQLCA.DBParm=”” CONNECT using SQLCA; IF SQLCA.sqlcode= -1 THEN messagebox(“错误”, “没有连接到数据库系统”) return -1 END IF string vconnect,vrole //从表Username表中获取相应的角色 9.8 系统安全控制 SELECT userrole INTO :vrole FROM Username WHERR username=:vusername; //vrolepasswd是从系统表sys.user$或其它途径获得的角色口令 vconnect=’SET ROLE ’+vrole+’ IDENTIFIED BY VALUES(‘+vrolepasswd+’)’ Execute immediate :vconnect using SQLCA; //或设置缺省用户 9.8 系统安全控制 vconnect=alter user +vusername + identified by +vuserpassword + default role userdefaultrole,+vrole Execute immediate :vconnect using SQLCA; If SQLCA.sqlcode 0 THEN Messagebox(“错误”, “没有激活相应的角色”) Disconnect Using SQLCA; Return -1 ELSE Disconnect using sqlca; Connect using sqlca; IF cbx_1.check

文档评论(0)

ormition + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档