我有一个download.jsp页面,它具有仅在登录时下载文件的功能。 当他点击下载选项时,它会要求登录下载并重定向到登录页面,当他验证用户时应该重定向到download.jsp
这是我的struts.xml
文件
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="loginAction" method="login" class="com.vaannila.action.LoginAction">
<result name="sucess" type="tiles">welcome</result>
<result name="failure" type="tiles">home</result>
</action>
</package>
</struts>
在LoginAction类中的我只有一个方法登录,它验证并返回成功或失败,并调用结果页面
如何在登录后返回调用者页面download.jsp
答案 0 :(得分:0)
您可以尝试实现上述功能的选项很少
HTTP Referer
标题如
final String refer = request.getHeader("Referer");
这方面几乎没有问题,防火墙和浏览器可以阻止它,这可能会导致一些问题,虽然我没有看到任何这样的问题并且已经使用了几次。
其他更可靠的解决方案是使用隐藏文件或将当前页面URL附加为查询字符串并在您的应用程序中使用它,如
<a href="login?destination=theCurrentUrl">Login</a>
您可以使用此变量查找当前页面URL,并在登录后重定向。
如果您正在使用Spring安全性,它会构建此功能,用于存储使用来源的信息,并在身份验证后重定向回同一页面。
希望这可以帮到你