如果设计数据库以及在用户登陆的时候判断用户权限。

来源:百度知道 编辑:UC知道 时间:2024/05/03 19:43:54
如果设计数据库以及在用户登陆的时候判断用户权限。

我要做一个小公司的业务管理系统。
需求分析是:
1,公司分为老板,主管,员工三个级别的权限。
2,员工登陆系统后只能看到自己所有的业务信息,以及填加新的业务定单信息。
3,主管登陆系统后能看到自己所负责的几名员工的所有提交的业务信息,以及自己提交自己的新的业务定单(这点与员工一样,只是多了一个查看和管理本部门的员工业务信息的权限)。
4,老板登陆系统后能查看到整个公司的所有员工的业务信息,另外也可以按部门查看,按人查看各自部门以及每个个人的业务信息情况。

问题:
1,这样一个三种身份的分级别的关系应该如何设计数据库最合理?
2,这样一个系统如何解决用户在系统登陆的就自动判断用户的身份,给予相应的权限。

如果是大的系统,这些东西就要封装自定义控件和授权系统,这样又要开发一个授权系统.
项目相对比较小的话,你可以单纯的在数据库里做,加个字段,如UserLevel,在用户登陆验证时获得此级别字段,并把相应的信息写入Session,我不知道你项目中拿到权限后怎么区别显示,姑且说成Session吧.
我认为你的难点不是怎么设计数据库,也不是怎么怎么给予权限,而是拿到这权限后怎么从整体上设计这个EPass过程
时间关系,祝你好运

数据库设计UserName,PassWord,Popedom.
登陆时,如果提供帐号密码正确把权限列字段值取出来根据值的不同在页面显示不同东西.

角色表
role
{
roleId,
roleName,(经理,部门主管,员工)
remark
}
用户表
user
{
userId,
userNo,
userPwd,
roleId,
userDepartmentId,
remark
}
对于每个用户都有一个roleId,
当用户输入userNo和userPwd时首先判断用户名和密码是否正确,然后读出他的roleId和userDepartmentId.
以后你就可以用他的roleId和userDepartmentId来判断他是否具有访问那些功能的权限了.

呵呵 上面那个说的很正确哦