代文龙整理的"权限系统概要"写得很详尽。现在想讨论一下实现过程中的问题:
1.怎么在系统中表示一个Resource呢?
在"概要"中提到了使用Id标识一个Resource。我觉得也可以理解为将一个划分较细的use case作为权限分配的单位。相应地,可以把session bean中的一个business method作为该use case的实现。但怎么给这个business method分配resource Id,并让权限系统在验证的过程中识别本business method所对应的resource Id?
此前我在一个项目中是将struts的action作为权限分配的单位。但之后发现实在行不通。
2.菜单权限和功能权限如何统一起来?
曾做过另一个项目,是以菜单权限作为权限管理的单位,问题变成了如果用户知道了交互协议,则可以绕过菜单直接构造请求包给后台。安全问题大大的。