一个关于权限读取时间的问题

06-03-22 zhang.xiushu
一个系统中有的资源访问时必须要有一定的权限才行。而获取这个权限到底应该在什么时候比较好呢?

1。用户刚登录时就把该用户的所有权限一次性的读入到内存中,需要时直接进行判断即可(这种浪费内存)。

2。当用户访问到受保护资源时才开始读取需要的权限(这种浪费时间)。

请各们大侠给于指导,到底用哪一种方法好,或者有其他更好的方法。或者您正在使用的方法都可以。小弟在这先谢了。首次发帖如何表述不清请谅解

    

banq
2006-03-23 09:54
首先,你的切入方向就错误了,将用户和权限直接挂钩,实际应该是:

用户--角色--权限。

这是RBAC原理,现在大部分权限设计都是按照这样思路实现的,RBAC应该和设计模式列为程序设计的基础课程。

用户登录后,将其角色load进入缓存,访问资源时,判断该角色是否拥有权限访问,这称为ACL,ACL作为业务逻辑一部分,可保存在session中,提高性能。

zhang.xiushu
2006-03-24 08:42
谢谢彭老师。

在下反思ing.

猜你喜欢