struts2的验证登陆问题?
只有登陆才能访问其它的页面....不知道谁能详细的说说
只有登陆才能访问其它的页面....不知道谁能详细的说说
解决方案 »
- jsp的框架frameset
- jsp +crystal reports 老是出错
- struts2 checkbox 问题
- struts 中 使用变量的值作为map的key 取得value
- JSP/Sevlet+Tomcat中如何使用自己的XML配置文件?
- Java服务器是不是都有这个问题?
- 如何把支付宝接口加入我的销售网站中去,我从来没有用过。谢谢
- java条形码打印
- 请问各位大哥,能不能在code中给request增加param啊
- bbs 源程序下载地址?
- 受不了有些人,搞技术的,只要好用就行了,也不问问为什么.
- 求救!!!!!!:linux环境下使用jxl操作Excel文件报错,怎么办,请大家帮忙。跪求。必有重谢
如果用struts2的话,用拦截器吧
同样先在loginAction中把用户信息放入sessionstruts.xml中配置拦截器
<package name="authority-default" extends="struts-default">
<interceptors>
<interceptor class="com.lan.baseproject.interceptor.AuthorityInterceptor" name="authority"/>
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="authority"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault"/>
<global-results>
<result name="login" type="redirect">/login.jsp</result>
</global-results>
</package>
<!--login继承自struts-default这样login不会被认证拦截器拦截-->
<package name="login" extends="struts-default">
<action name="checkCodeExists" class="loginAction" method="checkCodeExists"></action>
<action name="login" class="loginAction" method="login">
</action>
<action name="logout" class="loginAction" method="logout">
<result name="success" type="redirect">/login.jsp</result>
</action>
</package>
<!--以下配置文件继承自authority-default这样所有action会被认证拦截器拦截-->
<include file="xxx/user.xml"/>
......
拦截器的简单实现public class AuthorityInterceptor extends AbstractInterceptor { /* (non-Javadoc)
* @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
*/
@Override
public String intercept(ActionInvocation arg0) throws Exception {
ActionContext context = arg0.getInvocationContext();
Map<String, User> session = context.getSession();
User loginUser = session.get("loginUser");
if(null == loginUser){
return Action.LOGIN;
}
return arg0.invoke();
}}如果涉及到用户的菜单权限的话,在这里也可以进一步处理
把登录后信息放入Session中,这样在其它页面就可以是否登录,如没有登录则返回登录页面。如果已经登录则不用转发到其它页面。
一、加过滤器,把除了登陆页面外的所有页面都过滤
二、把登陆信息放到session中,每个页面判断一下,如果得不到值就跳到登陆页面
不过用filter也可以,可以直接在filter中构建一个简单的登陆页面来判断用户的输入
如果输入正确就导航到现实的页面,如果不正确就进不去