struts2 如何避免不登陆访问页面

2025-04-26 08:03:18
推荐回答(3个)
回答1:

使用拦截器,登录成功将信息放入session中,利用这个拦截器检查,有检测到登录成攻了,就可以继续访问,否则踢回登录页面,这里有段代码你看看吧
/**
* 登录检查拦截器,用于拦截所有业务模块Action
* 的请求,判断用于是否登录,若未登录则不允许
* 其访问该Action,并踢回到登录页面
*/
public class LoginInterceptor implements Interceptor {

public void destroy() {

}

public void init() {

}

public String intercept(ActionInvocation ai)
throws Exception {
//从session中读取登录信息
Map session =
ai.getInvocationContext().getSession();
Admin admin = (Admin) session.get("admin");
//判断登录信息是否为空
if(admin == null) {
//没有登录,不调用Action,直接返回结果
return "login";
} else {
//登录了,可以调用Action
return ai.invoke();
}

}

}
希望对你有帮助,望采纳!

回答2:

加过滤器噢,把你登录的页面和路径放行,其它路径都通过session判断用户是否登录了,否则就强制跳转到登录页面,这是思路
具体代码实现可以参考 http://blog.csdn.net/markzwei/article/details/6305812

回答3:

权限控制啊