关于struts的actionforward及用户登录等

06-04-06 nfxu
大家好。我现在正在用struts做开发,有几个问题想请教。

1。对于需要用户注册和登录的web应用,有通用的解决方案嘛?servlet本身的安全配置功能只能适用于有限并且是手工配置的用户/角色。 我现在能找到的是用session存用户登录信息,数据库存用户注册信息。但对受保护的页面,需要用户先登录,然后转到受保护的页面。对此,有不有一般的解决方案?

2。我现在采用的方式是,把对任何受保护的页面的请求先用一个servlet来处理,

1) 如果没有登录,转向登录页面,登录页面里隐藏返回页面的地址。当登录页面的action处理完后,如果发现登录页面里有返回地址,则转向此地址。在这里,我用的actionforward只能new一个,而不能mapping.findforward一个,因为返回地址是动态的。问题是,我用的new ActionForward("/protectedPage.jsp")看来没有被执行。 为什么?

2)如果已经登录,则dispatch到自身,这是我唯一能想到的。但转到自身时出了问题。如何解决这个问题?或许需要用filter而不是servlet?

多谢。

nfxu
2006-04-06 13:26
new ActionForward("/protectedPage.jsp")不能执行,但new ActionForward("/protectedPage.jsp", true)可以,为什么?但这是一个redirect,而不是forward, 不是很好。

banq
2006-04-10 11:28
>需要用户注册和登录的web应用,有通用的解决方案嘛?
有,完全独立于具体业务逻辑的用户登录和权限验证体系。可见JiveJdon3.0

下面这篇文章供你参考:

http://www.jdon.com/idea/jaas/06001.htm

猜你喜欢