日期:2014-05-17  浏览次数:20623 次

登陆权限的小问题
两个表,一个菜单表,一个管理表。
管理表有一个列用来存放菜单表的id。
然后根据不用的管理员 id 对比用来显示不同管理权限所对应的菜单。

现在的问题是通过地址栏直接输入还是可以访问所有的菜单。
怎么弄呢?
验证用的form验证。

------解决方案--------------------
后台页面初始化时应该有根据权限判断显示那些菜单的控制
------解决方案--------------------
是否可以考虑不用地址栏传参数而改为用session传参数这样就能在用户登录时取得用户的权限,从而显示菜单表.
------解决方案--------------------
后台构造菜单的时候就要根据权限去过滤掉。。你调试下你的sql 看看是不是过滤了
------解决方案--------------------
其实非常简单,请问你登录的时候,是不是可以获得管理员ID,肯定能获得,既然能获得,就不会出现你那种情况,通过地址栏还是可以访问所有的权限。
------解决方案--------------------
而且,你通过地址栏访问,没登录是不能进到管理后台的!
------解决方案--------------------
进到后台,就能够获得管理员ID,能获得管理员ID,就指导其对应的权限。
------解决方案--------------------
在页面加载之前进行一个权限判断,在gloax.cs中有一个方法,可以重载具体什么方法,我忘了
------解决方案--------------------
引用:
Quote: 引用:

而且,你通过地址栏访问,没登录是不能进到管理后台的!


登陆后,低权限的管理员,通过地址栏可以访问高权限的管理员的菜单。

那么在高权限的页面里限制低权限的用户啊。类似于权限这种东西通过输入地址来访问、传递肯定是不行的。先获取当前用户信息,看看是那个角色,判断一下,不就是if else语句嘛,在里面过滤一下不能访问的数据,或者直接重定向到能访问的页面去。
------解决方案--------------------
不能用url参数控制权限
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

而且,你通过地址栏访问,没登录是不能进到管理后台的!


登陆后,低权限的管理员,通过地址栏可以访问高权限的管理员的菜单。

那么在高权限的页面里限制低权限的用户啊。类似于权限这种东西通过输入地址来访问、传递肯定是不行的。先获取当前用户信息,看看是那个角色,判断一下,不就是if else语句嘛,在里面过滤一下不能访问的数据,或者直接重定向到能访问的页面去。


页面权限的高低,取决于用户在添加管理员时对其权限的配置。

这样我要把后台每个页面都写判断呀。

针对不同的权限来限制数据的生成,而不是对某些页面的访问,我只知道在生成数据时判断。另外,修改一个菜单,所有使用这个菜单的页面都要修改的话,结构可能需要调整吧。
------解决方案--------------------