PB用户权限管理[1]

PB用户权限管理[1],第1张

方案一 多用户 多用户方法 

       关于用户权限的问题 我认为这个问题在PB的开发中都可能遇到 各人有各自的解决方法 我以前也用过各种方法来实现 但是总体而言 安全性 方便性 灵活性等等方面考虑的话 下面的的方案是一种比较好的方案

以下就该方案做详细的说明

一 基本知识

现在主要的DBMS包括 ORACLE SQL Server Sybase Adaptive Server Microsoft SQL Server x x等 在这些DBMS中 都有自己完整的用户管理模式 一般都以下列方式进行

登录用户 主要用来提供连接到数据库服务的

角色用户 将登录用户划分为某些组 这些组拥有各种不同的数据库 *** 作权限 而一个登录用户可以扮演不同的角色

组管理 主要在Microsoft SQL Server x中 在 中已经采用ORACLE Sybase的用户管理方式

DBMS提供了这些用户管理的基本方式 并各自对表 视图 过程 触发器等有各自的审计及管理的方法 关于这些内容 请参考相关书籍

在实际的应用中 如果实际情况允许 可以对实际的所有用户建立一个登录用户(帐号) 并对所有的帐号进行严密的权限管理 但是 如果用户的数量是不固定的 而且可能有上百个 那管理的复杂程度及难度就可想而知了

所以 在一般的应用系统中 很少直接采用DBMS提供的用户管理模式而进行相关的扩充

二 实现方法

当前比较可行的方法的要点是

所有的实体(表 视图等等)都由一个登录用户建立(dbo) 但是该用户不拥有连接及 *** 作这些实体的权限(Insert Delete Update等等)

对所有的实际用户进行分类 归纳为几个具体的角色(实际角色)

一种实际角色对应一个登录用户 建立帐号系统 进行角色分配 权限设置

在Application中 某用户连接时 根据所扮演的实际角色 以对应的登录用户登录

根据对应表中对该用户的可用模块(功能) 进行适当处理 使用户只在定制的] 允许的范围内进行功能 *** 作及数据库 *** 作

根据以上几点 在一个具体的应用中 涉及到的开发工作包括

表设计

实际角色(组)分析

建立应用用户帐户表 该表记录了该用户所属的组 建立用户组表

建立一个通用连接用户(只能检索用户帐户表) 所有的应用用户初始都以该用户连接数据库 然后检索根据实际登录的用户及用户所属组 以该组对应的登录用户进行连接

建立模块(功能)表 建立用户 用户组与该表的对应表 即某用户到底能够进行什么样的 *** 作

功能设计

建立模块(功能)管理器 管理所有可用模块的相关信息

建立用户 用户组权限管理器 管理某用户(组)能够使用的功能

用户启动应用录时 将按照以下过程进行

○ 所有用户都以固定的连接用户进行初始连接

→ 用户输入自己的代码及口令 根据帐户表确认该用户

→ 得到该用户所属的组(即可以连接到数据库的登录用户名称)等信息

→ 重新连接到数据库 分配角色

→ 根据角色 进行数据分片(参考数据分片技术)

→ 检索该用户所属组及该用户可用的模块信息及布置 调整菜单或界面

● 打开主窗口 结束

方案二 单用户 多用户模式

所谓单用户 多用户模式 指数据库的登录用户模式 指所有应用都以统一的用户登录 该用户拥有所有表 视图 过程 函数等的所有 *** 作权限 而这些对象都被dbo所创建和拥有 可以将这些用户称为应用用户(存放在某表中) 而登录到数据库的这个用户即为模式用户 实际上 为了防止系统外数据登录 可增加一个联接用户 该用户只能读取一张表 该表记录了模式用户的登录参数(具体部分可以加密存放) 这种单 多用户方式在大型的mis系统中 由于其实现简单 思路清晰 所以应用是相当多的 单其优缺点是明显的

优点

■设置简单 特别是授权 可以比较轻松地实现

■管理简单 只要维护一个模式用户就可以了

■对开发人员是透明的 即开发用户以dbo方式登录就可以了

缺点

■比较危险 一旦该模式用户泄密 将造成巨大损失

■无法进行进一步的权限设置 因为不知道到底某应用用户到底具有那些权限

改进 (多用户 多用户方式)

可以按照实际业务系统的分类 划分为几个模式用户 如库房 给库房一个模式用户 财务 则给财务另外一个模式用户 这些模式用户对不同的对象拥有不同的权限 从而防止了破坏不相关的业务系统数据的可能

在实际的使用中 在登录时 可以根据该用户所在的部门进行相关的联接设置

方案三 通过菜单来控制用户权限    在PowerBuilder中 是不支持动态菜单的 一个菜单只能先做好 然后在程序中调用或修改它的属性 因此 对于动态菜单的实现 只能通过打开一个个窗口实例来实现 可以通过修改某菜单项的tag属性 在菜单项的clicked事件中打开该tag所指示的窗口即可

lishixinzhi/Article/program/PB/201311/24628

计算机中PB,1PB=1024TB,容量相当大,应用与大数据存储设备,如服务器等。

pb指petabyte,它是较高级的存储单位,其上还有EB,ZB,YB等单位。它等于1,125,899,906,842,624(2的50次方)字节,“大约”是一千个terabyte(实际上,准确地说是1024个terabyte,之所以说成1000个terabyte可能是为了更便于记忆)。

MB,全称MByte,计算机中的一个储存单位,含义是“兆字节”。

1MB可储存1024×1024=1048576字节(daoByte)。

字节(Byte)是存储容量基本单位,1字节(1Byte)由8个二进制位组成。

位(bit)是计算机存储信息的最小单位,二进制的一个“0”或一个“1”叫一位。

扩展资料

计算机存储信息的基本单位称存储元件,每个存储元件是一个二进制位,一位可存放一个二进制数0或1。每8位组成一个字节。由于8086CPU是16位数据总线,则其字长是16位,由2个字节组成。

在存储器内是以字节为单位来存储信息的,因而对存储器的编址是按字节编址,从而使CPU根据地址编号找到存储器中的 *** 作数或者说CPU根据地址编号访问该存储单元的内容地址从0开始编号,顺序地每个地址加1;

在计算机内地址也是用二进制数表示,地址是一个无符号整数,为了书写方便和编程,在源程序中常用十六进制数或符号来表示一个存储单元的地址。如1MB的地址范围若用二进制数和十六进制数表示如下

二进制数:0000 0000 0000 0000 0000B——1111 1111 1111 1111 1111B

十六进制数:0 0 0 0 0H——F F F F FH

8086/8088CPU有20根地址线,其最大寻址范围是1MB的空间。

参考资料:

存储单位-百度百科

数据窗口是可视的,数据窗口对象是不可视,是抽象的 数据窗口对象在pb开发程序面板上设计好(也可以动态生成),做好后要在检索的数据窗口去绑定,也可以在程序运行时动态改变,比如dw_1dataobject=‘d_1',d_1就是窗口对象,这样d_1这个数据窗口对象就与数据窗口dw_1相关联 检索数据时就先要把数据窗口加入事务变量,就可以检索了,例: dw_1settransobject(sqlca) dw_1retrieve() 这样你在数据窗口对象d_1中的数据就被检索出来放到数据窗口dw_1中显示出来了 希望能帮助到你

以上就是关于PB用户权限管理[1]全部的内容,包括:PB用户权限管理[1]、计算机中PB是什么意思、实现自适应窗口的用户对象 pb autoResize,该怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9779841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存