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

一个系统中有的资源访问时必须要有一定的权限才行。而获取这个权限到底应该在什么时候比较好呢?
1。用户刚登录时就把该用户的所有权限一次性的读入到内存中,需要时直接进行判断即可(这种浪费内存)。
2。当用户访问到受保护资源时才开始读取需要的权限(这种浪费时间)。
请各们大侠给于指导,到底用哪一种方法好,或者有其他更好的方法。或者您正在使用的方法都可以。小弟在这先谢了。首次发帖如何表述不清请谅解

首先,你的切入方向就错误了,将用户和权限直接挂钩,实际应该是:
用户--角色--权限。

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

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

谢谢彭老师。
在下反思ing.