浏览 5592 次
锁定老帖子 主题:DWR2.0的调用前拦截
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-05
最后修改:2008-12-05
我在做公司某个框架时有这么一个需求。每次调用dwr的方法前要检查用户是否已经登录,否则就不能执行并且退到首页。 <init-param>
<param-name> org.directwebremoting.extend.Remoter </param-name> <param-value>com.xxx.base.framework.web.MyDWRRemoter</param-value> </init-param>
public class MyDWRRemoter extends DefaultRemoter
{ public Replies execute( Calls calls ) { HttpSession session = WebContextFactory.get().getSession(); ISessionContainer sc = ( ISessionContainer ) session.getAttribute( ISessionContainer.SESSION_CONTAINER_KEY ); //session检查 if ( sc == null || sc.getUserInfo() == null ) { logOut(); return super.execute( new Calls() ); } else { IUserInfo userInfo = sc.getUserInfo(); if(!SecurityFactory.getInstance().isOnline( userInfo.getUserID(), session.getId() )) { logOut(); return super.execute( new Calls() ); } } return super.execute( calls ); } private void logOut() { WebContext wct = WebContextFactory.get(); Util utilThis = new Util(wct.getScriptSession()); utilThis.addScript( new ScriptBuffer("logOut()")); } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-22
请教LZ这种session失效,异步调用时是怎样一个交互显示给用户呢?
|
|
返回顶楼 | |
发表时间:2009-05-26
最后修改:2009-05-26
kkbear 写道 请教LZ这种session失效,异步调用时是怎样一个交互显示给用户呢?
其实本来就是异步的,那个logOut是js方法,随你怎么写,不就可以通知界面用户了? 要深入理解去查看“DWR反向调用” |
|
返回顶楼 | |
发表时间:2009-06-08
原来DWR还有这样的东西呀,以前做的时候是自己用AOP方式实现的。
|
|
返回顶楼 | |
发表时间:2009-10-30
给所有dwr方法写个父类检查session如何呢?
|
|
返回顶楼 | |
发表时间:2009-11-18
DWR很有意思,但是我觉得违背了一些基本原则
请告诉我在WEB应用程序中使用DWR的理由 |
|
返回顶楼 | |