问题描述
我是jsp新手,我做的是一个用jsp+sql的课程精品网站,其中一个版块是登录系统,分为学生登录和教师登陆。登录系统已经做好了。现在我想实现的是当教师登录时能够有一些权限权利,就是相当于论坛中的管理员。比如说在这个网站中有在线自测板块,教师登陆之后能够修改添加删除这里面的自测题。希望各位高手帮忙,给我一些这方面的权限代码或是意见、思路什么的,先谢过好心人了!
解决方案
解决方案二:
1.写死2.用数据库来控制,弄个表,用户id,权限id比如教师的是1,学生是2,然后其他权限暂时为1,2,3,修改自测题的为4表里的数据位11121314212223每次登陆的时候,动态去拿数据,生成菜单
解决方案三:
写死,这种方式不适合。小项目没问题。
解决方案四:
这样的小项目用过滤器Filter就可以了!
解决方案五:
用过滤器
解决方案六:
比较常用的方式首先建立三个表1.user表id,name,password,roleid2.role表id,name,action3.action表id,action比如说你的教师有查看试题和修改试题的权限你在action(操作表)中插入1,"viewQuestion".2,"updateQUestion"然后在role(权限表)中插入1,“教师”,"1,2"接下来你根据用户的roleId可以得知他们有哪些操作,然后根据这些操作显示相应的菜单
解决方案七:
可以弄个表ID字段url可使用人查看1,2更改2,3删除3ID职业1学生2老师3校长登陆的时候自动生一下才菜单没做过建议
解决方案八:
引用5楼xtbzqw的回复:
比较常用的方式首先建立三个表1.user表id,name,password,roleid2.role表id,name,action3.action表id,action比如说你的教师有查看试题和修改试题的权限你在action(操作表)中插入1,"viewQuestion".2,"updateQUestion"然后在role(权限表)中插入1,“教师”,"1,2"接下来你根据用户的roleId可以得知他们有哪些操作,然后根据这些操作显示相应的菜单
在做权限的时候,一般都是这么做的。。。
解决方案九:
小项目用filter,对某些页面或文件夹,判断类型是否是教师就行了大项目就用了5个表1、权限(树型结构,必要时需要保存JSP的URL)2、角色(下拉框multiple)3、人员(树型结构,按部门——人员展示)4、角色权限关联表(页面上不可见)5、人员角色关联表(页面上不可见)在登录时取该人员的所有权限,放到session里在访问页面时,用一个filter统一判断第二个方法已经在实际中应用多年了,我也是COPY的~~
解决方案十:
做真正的权限的话就像CRM那样的...三表,这个的话CSDN资源里有.如果你项目小的话可以用写死也可以用过滤器什么的.
解决方案十一:
http://www.acegisecurity.org/研究研究。
解决方案十二:
写死和动态的结合,要是关于树的节点就写活,如果是也连接,什么的就没必要做的那么活了,直接表1,中间表,表2,然后根据角色id,加载到不同的功能餐单,,毕竟功能菜单不会改变太多
解决方案十三:
我的工程不是很大,大家能不能具体告诉我一下写死的方法,在线等高手帮忙!
解决方案十四:
具体的代码和实现方法。谢谢
解决方案十五:
项目设计中关于权限,角色,操作功能三者之间的探讨总结(2009-03-14)收藏今天是星期六,经理要求在项目(医疗项目)期间由双休改为单休日,啥也不说了。今天开会讨论了关于数据库中表的设计和关联关系的问题,而我所做的模块就是CRM模块中用户管理,预约模块,领导查询模块,后台管理模块等。其中讨论最激烈的一个模块就是用户管理中,对于系统的功能的使用和用户角色,和用户三者之间的划分问题。因为我们要做的这个项目是根据用户权限的不同,提供相应的服务如:挂号预约,VIP服务,人工服务等系统功能,不同的用户登录系统之后根据用户角色(也就是用户权限,可以这样理解)的不同来享受相应的服务。我的设计思路是:建立一张用户User表和一个用户权限表Right表,User表和Right表之间通过Right表的RightID来进行一对一关联,这样也就确定一个用户对应一个权限,这样在实现时就可以根据用户的权限来判断用户是否有权限来使用该系统功能。我想这也是一般大家都是这样认为的。但是现在要变化,一个用户要有多个权限,比如,一个人既可以是项目中保健信息的维护人员也可以是人工服务人员(人工服务:包含电话,语音等)。或者说:系统的这个用户角色只能够查询,另一个用户只能去修改和更新,而另一个用户既可以查询也可以修改和删除。这样一变化,原来设计的表就感觉不能满足要求了。从而在Right权限表进行了修改,添加了一个RightLevel字段来进行权限级别的划分,分为1,2,3等级。我想这样差不多就能解决呢,可是想在实现时你要对一个功能的使用进行权限的判断时,先是通过RightID来判断用户能够使用该模块,对于该模块中的子模块就像我前面说的查询,添加,删除等再进行RightLevel的判断。可是,这样也有缺陷,你要是系统管理员呢,那么多子模块难道要都要添加记录,你也可能说是可以给系统管理员一个最高级用户权限。但是这样到后面进行扩展时就有很多局限性了,而且我们这个系统不是只针对一家用户使用的,要和原有的HS系统结合在一起就会麻烦重重了。而且院方一般希望系统管理人员对于角色权限的设定可以根据系统功能来确定,比如:客户服务人员(人工服务人员)只可以进行这一模块的功能,领导只可以查询各个模块的信息,不能添加或者修改,而网站信息人员可以对网站信息进行更新的权限。最后,解决办法就是,建立一个系统操作与用户角色的关联表tb_r_Operate_Actor,即是把这里的权限表改为角色表,每个角色关联相应的系统中的各种操作,即也需要建立所有系统中功能操作的一个操作表Operate,它和角色表之间是多对多关联,所以这里在它们之间建立一个关联表。而系统中每个操作在Operate表中都是一条固定不变的记录。当然这种做法有利有弊,前提是你系统的功能操作是一定的,不能太多,不然在实现时会比较麻烦,对于每个操作都要进行判断。但是这样换来了系统的课扩展性。上面是针对我们这个项目而言的,希望在这里总结一下,和大家探讨!楼主参考一下,这是我的一个博客
解决方案:
我也不懂,学习一下