求助!关于j2ee安全框架问题?!!!
在j2ee框架中如何实现可定制的安全验证及授权?
我想在我的系统中实现如下功能:
说明:此系统的客户端是使用java编写的界面,服务端采用Web Sevice实现业务逻辑,业务的实现主要采用EJB。
1、登录,用户在客户端通过输入用户名及密码进行登录,服务端根据登录的用户名及密码来判断是否登录成功!
2、方法调用,根据登录的用户信息,在数据库中取得该用户的权限(此权限何存在数据库中,管理员可对用户进行权限的修改),来判断此用户是否有此方法调用的权限。
3、权限设置,管理员可对用户进行权限设置。
我的分析:
a.用户登录后,在服务端的其它业务方法中如何实现权限验证?实现方式可以采用,将所以方法在一个状态bean中实现,用户登录后将用户信息进行保存,调用其它方法时可进行查询数据库得到其权限,此种方法的害处是每个客户端都必须使用一个状态bean,程序退出时该状态bean才死掉,如果客户比较多时,服务器将无法负载。
b.第二种实现方法,在每一个商务方法中加入用户信息,在调用商务方法时根据传入的参数(用户信息)查询数据库得到其权限,这种方法的缺点是会增加传输数据,且每个方法都带用户信息也不地道:)
c.第三种实现方法,使用jaas验证,服务端由部署员进行角色用户映射的部署,但这种方式无法动态的增加、删除、改变用户,授权也无法动态变更。
我的问题:
以上是我想到的实现方法,都有其致命的缺点,无法满足需求,请教各位大虾?谁有更好的方法,给出相应实例,我将不甚感激!!此问题困扰我很久了!!在此先谢过了!