日期:2014-05-18  浏览次数:20647 次

高分求DWR + Spring架构下权限管理的解决方案!!!
各位兄台,我目前在负责一个JAVA的web应用的项目.应用架构基本为:DWR   +   Spring   +Hibernate.
在传统的webwork   +   spring   +   hibernate   的三层架构下,权限控制可以方便的放在web层的webwork去解决.而在DWR   +   Spring这个架构下,服务端不再控制web层的请求,只是提供business   service.在这种情况下,我打算采用AOP做权限控制.我的初步构想是:
1.权限控制非基于URL,而是基于方法和对象,因为客户端请求的不是一个传统的URL.而是业务对象.

2.AOP动态代理,拦截来自客户端的请求,可以拦截到的是请求的方法名,参数们,方法所属的对象.

3.现在还缺少一个关键的参数:发起请求的用户的角色.传统的做法是用户登陆后,将用户的角色放在会话中,用户每次发起请求,web层会从用户的http请求中取出HttpSession,然后取出该用户的角色进行校验.但是在DWR   +   Spring的架构中AOP收到的不是http原始请求,所以无法获得HttpSession.也许现在有的兄台会建议通过DWR提供的API可以获得原始http请求的各个对象:Request,Response,HttpSession...等等.这个也是解决问题的方法之一,但是这种方法将原本不耦合的两个framework,紧紧的耦合到了一起.DWR对Spring的侵略性太强.所以,此方法不是首选. <font   color= "red "> 在此也希望各位能提供更高的方法,谢谢!! </font>


------解决方案--------------------
好问题,我也需要这样一个方案。
mark~!
up~!
------解决方案--------------------
up,好东西
------解决方案--------------------
关注~
------解决方案--------------------
我也在寻求同样的解决方案。
------解决方案--------------------
dwr中可以取到session对象 可以对合法请求的用户进行session处理 可以对登录进行验证

但是dwr不提倡这样做

其实你可以部分使用dwr,个人觉得dwr不适合大量使用,它不能实现UI,也没有action那么方便,用多了js就乱了。