权限设计问题商讨!

04-04-08 JShenee

上面是设计中涉及的部分接口与类的结构层次图。

1.ISuperSecurity,IGeneralSecurity是提供给MVC使用的接口

2.SuperSecurityContainer,GeneralSecurityContainer是容器类,容器自己写的,所以这些人想同时实现可RMI被调用的接口等

3.SuperMatchmaker,GeneralMatchmaker是为了减少容器类的负担,做的中间类,容器类调用他们

4.下面的如IUserManage,UserManageImpl,UserManageProxy是按proxy模式设计,实现自身权限控制和对数据表的操作(这个是用户表)

现在我有这么几个问题

1。设想,每个用户登陆后,获取他可操作的permission集合,放到用户的session中,对具体对象操作前,进行控制判断是否有权限。

问题:这种设想是否好。

比如对某个方法的调用,如果在MVC里控制,那用户没这个权限,就不让他调用这个方法接口。而不放在MVC里控制,就让他调用接口,但在具体调用实现时,进行控制。哪种好?当然我们容器设计的很简单,容器负责控制不行。

2。权限自身的控制怎么实现,就是怎么把登陆用户名传到UserManageProxy等代理类。如何设计让每个用户登陆后,在容器中保留一份用户操作权限数据。

猜你喜欢