权限判断问题,头痛

VisualFred 2005-04-27 09:22:05
学校信息管理系统,权限根据序号分三级

第一级:校办,序号为10000(只有一个)
第二级:系部,序号为10100,10200......19900(如:计算机系:10100,机电系: 10200)
第三级:班级,计算机系的班级序号为10101,10102......10199;机电系为:10201~10299

在查找数据库信息时,根据序号判断
校办管理员根据能找出学校中所有人员信息
系部管理员只能查出该系部(包括下属班级)的人员信息
班级管理员只能查出本班级的人员信息

程序代码应怎么写,或者有思路也行
...全文
176 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
VisualFred 2005-04-29
  • 打赏
  • 举报
回复
to : mayi545
个人认为比较麻烦。通常我的做法是将用户的权限以0,0,0存入数据。然后登陆时将值赋值给session数组。。然后在不同的页面进行判断时否有权限进入改页面
=============================================================
对这种解决方案不是很清楚,具体代码怎么写
seewhat 2005-04-28
  • 打赏
  • 举报
回复
大家看看这样写对不对
unitid,共计9位
a=mid(unitid,2,8)
b=mid(unitid,6,4)
if a ="00000000" then
sql = select * from stu
elseif a<>"00000000" and b="0000" then
sql = select * from people where
left(unitid,5) = left(session("unitid"),5)
elseif a<>"00000000" and b<>"0000" then
sql = select * from stu where unitid = session("unitid")
end if
seewhat 2005-04-28
  • 打赏
  • 举报
回复
wangyanyan 2005-04-28
  • 打赏
  • 举报
回复
个人认为比较麻烦。通常我的做法是将用户的权限以0,0,0存入数据。然后登陆时将值赋值给session数组。。然后在不同的页面进行判断时否有权限进入改页面
=============================================================
同意每个用户登录后,给他一个代码,然后在进入页面时判断
chjpeng 2005-04-28
  • 打赏
  • 举报
回复
设三个组,每个管理员都有一个对应的组值,
查询时根据组别取得sql语句的值
VisualFred 2005-04-27
  • 打赏
  • 举报
回复
jzywh(江小鱼)写的很好
但有个问题,校办、系部管理员、班级管理员都在同一张表中
附表结构及部分纪录
user password unitid
admin 1 10000 ...........校办
admin1 1 10100 ...........计算机系管理员
admin2 1 10101 ...........计算机系1班管理员
adminN 1 10200 ...........机电系管理员
..........
VisualFred 2005-04-27
  • 打赏
  • 举报
回复
wxf0104(西方失败007)和chenxiaoqiang(城墙)的意见都很好
但因为是对原有系统作改进,数据库中已有大量数据存在,为了兼容前一版本,所有数据库结构是改不了的。
VisualFred 2005-04-27
  • 打赏
  • 举报
回复
管理员和人员信息是两张表
人员信息表,有两个序号字段
1、个人序号
2、单位序号(若该人是计算机系1班的,则该序号为10101)
管理员
只有单位序号,用户名,密码三个字段
若管理员单位序号为10100(计算机系),能找到所有单位序号在10100~10199范围内(即计算机系)的人员信息,除此之外不行
  • 打赏
  • 举报
回复
人员 系名 班名 权限
1
2
3

select * from table

当权限2的时候
select * from table inner join table1 on table.系名=table1.系名

当权限3的时候
select * from table inner join table1 on table.班名=table1.班名
chenxiaoqiang 2005-04-27
  • 打赏
  • 举报
回复
用户为一个实体,属性有用户号,权限号,姓名之类的东东;
权限为另一个实体,属性有权限号,功能号,功能描述之类的东东;
功能为第三个实体,属性有功能号,功能名,功能实现之类的东东;
无论是校办、系部还是班级都是一个用户而已,他们拥有不同的权限号,对应多个功能。其中用户与权限是1对1关系,权限与功能是1对多关系。
这样可以灵活的设置你的用户的权限,管理起来比较方便,开发也容易。
wxf0104 2005-04-27
  • 打赏
  • 举报
回复
将第一级:校办,第二级:系部,第三级:班级这三个等级放在一个表中做为一个树型结构,将人员信息单独存为一张表。

在添加人员信息时选择系部与班级(系部与班级做成二级联动),系部ID与班级ID分别存入一个字段,这样在查询或前台提取数据时一点都不困难了,因为校办能看到所有人员信息,因此,在添加人员信息时不用考虑它的ID。

仅供参考~~
mayi545 2005-04-27
  • 打赏
  • 举报
回复
个人认为比较麻烦。通常我的做法是将用户的权限以0,0,0存入数据。然后登陆时将值赋值给session数组。。然后在不同的页面进行判断时否有权限进入改页面
jzywh 2005-04-27
  • 打赏
  • 举报
回复
校办


StrSql = "select * from student"

系部管理员

StrSql = "select * from student where StuNo like '" & left(Session("UserId"),3) & "%'"

班机管理员

StrSql = "select * from student where StuNo like '" & left(Session("UserId"),5) & "%'"
  • 打赏
  • 举报
回复
人员的表有没有建立的??

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧