多用户权限:多用户权限与数据管理的一种方法




多用户权限和数据管理种思路方法

1.引言         信息系统实现过程中经常遇到这样情况:个信息系统有很多组、多个用户而且各组用户具有权限、所使用数据都不相同比如个学籍管理信息系统中如果要实现学生学习成绩发布和查询应该针对区别学生提供个人成绩然而由于学生人数很多许多系统在实现成绩查询时并不针对某个学生进行而是输出所有学生成绩在成绩查询这个例子中这个问题体现不是很明显但如果考虑学生在网上录入自己选课情况这种方式就会出现些问题比如些人可能恶意修改他人信息因此需要对这情况进行研究

2.多用户安全验证          为实现用户验证这种查询/编辑需要验证客户是否为合理用户需要在客户端输入用户名称以及相应密码然后在数据库端进行验证对于通过身份验证用户返回其所要求数据实现用户查询自己信息方式通常情况下是在客户端数据连接组件中进行限定如果客户端为学生他要查询相应课程成绩则在客户端完成课程成绩SQL语句装配自动生成类似“select * from 课程成绩 where 学号=’Xuehao’”(其中Xuehao是客户端登录或者获取数据时提供数据)        实现用户验证对于大型数据库来讲是连接数据库获取数据必须个步骤传统方式是对区别用户建立区别用户帐号并为他们分配适当权限而在多用户类型、多用户量情况下针对每个用户建立个帐号将涉及到很大工作量:包括登录名称数据库用户建立权限分配因此通常方式是利用数据库所提供角色概念针对区别用户类型建立区别角色将区别用户赋予相应角色从而减少用户权限分配管理但这样仍然不能减少用户管理工作量对于学生成绩管理系统来讲每年都有新生入学需要创建数据库用户同时又有学生毕业需要删除他们相应数据库用户这样维护数据库工作虽然可以通过计算机进行但是用户管理操作相对于表格数据操作费时费力        针对这种情况通常办法是将用户不真正建立数据库用户而是建立表格“用户表”在表中存储其所属角色即相应权限这样对用户维护就转变成对表格数据维护即方便实现又给用户以熟悉感当然这样管理需要结合存储过程来实现
          为实现用户验证这种查询/编辑需要验证客户是否为合理用户需要在客户端输入用户名称以及相应密码然后在数据库端进行验证对于通过身份验证用户返回其所要求数据实现用户查询自己信息方式通常情况下是在客户端数据连接组件中进行限定如果客户端为学生他要查询相应课程成绩则在客户端完成课程成绩SQL语句装配自动生成类似“select * from 课程成绩 where 学号=’Xuehao’”(其中Xuehao是客户端登录或者获取数据时提供数据)        实现用户验证对于大型数据库来讲是连接数据库获取数据必须个步骤传统方式是对区别用户建立区别用户帐号并为他们分配适当权限而在多用户类型、多用户量情况下针对每个用户建立个帐号将涉及到很大工作量:包括登录名称数据库用户建立权限分配因此通常方式是利用数据库所提供角色概念针对区别用户类型建立区别角色将区别用户赋予相应角色从而减少用户权限分配管理但这样仍然不能减少用户管理工作量对于学生成绩管理系统来讲每年都有新生入学需要创建数据库用户同时又有学生毕业需要删除他们相应数据库用户这样维护数据库工作虽然可以通过计算机进行但是用户管理操作相对于表格数据操作费时费力        针对这种情况通常办法是将用户不真正建立数据库用户而是建立表格“用户表”在表中存储其所属角色即相应权限这样对用户维护就转变成对表格数据维护即方便实现又给用户以熟悉感当然这样管理需要结合存储过程来实现
        但是这种将限制语句放在客户端来进行思路方法有如下不足:如果个知道用户名称和密码用户构造了个客户端而在这个客户端中他并不限制了查询修改数据范围这样他就可以对可以访问表格所有数据进行操作而不再仅仅是他所被赋予范围        因此更好方式是将数据限制放在数据库上进行这样即使是获取了个用户名称、密码用户也仅仅能对原用户相关数据进行查询、修改从而在定程度上提高了数据安全性
Tags:  sql数据库权限 数据库权限 xp多用户权限 多用户权限

延伸阅读

最新评论

发表评论