forms - 成功登录Tomcat表单后重定向

标签 forms tomcat redirect servlets login

我正在使用Tomcat提供的表单身份验证,它工作正常。无论使用什么URL,都应该调用Dispatcher Servlet,这样我就可以根据使用的URL使用默认页面或任何特定页面的转发。
例:

https://localhost:8443/myApp/List/->重定向到list.jsp或/ home / list

https://localhost:8443/myApp->重定向到home.jsp或/ home

https://localhost:8443/myApp/adgsdg->重定向到home.jsp或/ home

我的web.xml看起来像:
    



<!-- WELCOME FILE LIST -->
<welcome-file-list>
    <welcome-file>/Home/Servlet</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>servlet.DispatcherServlet
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/Home/Servlet</url-pattern>
</servlet-mapping>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Wildcard means whole app requires authentication
        </web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>

    <auth-constraint>
        <role-name>tomcat</role-name>
    </auth-constraint>

    <user-data-constraint>
        <!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.html</form-login-page>
        <form-error-page>/login-failed.html</form-error-page>
    </form-login-config>
</login-config>




welcome-file-list似乎没有任何作用。我希望这可能是在成功登录表单后重定向的默认位置,但是Tomcat保存请求的URL并重定向到该URL。
当我在servlet映射中使用/ *时,身份验证不起作用。

成功登录表单后如何实现重定向?

最佳答案

<welcome-file-list>是您打开webapp时应打开的页面,可能是Login页面。您可以做的是在此页面提交的内容中称为Servlet。在此LoginServlet中,您可以使用if/else,如果条件成功并且if运行,则将其dispatch转到主页,如果条件失败并且else运行,则可以将dispatch移至相同的Login页。希望能解释您的疑问。

您可以随时扩展此想法以适合您的需求。

希望能画一幅画。

关于forms - 成功登录Tomcat表单后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49463098/

相关文章:

javascript - HTML5 电子邮件输入不验证 Chrome 39 中的 utf-8

javascript - 防止表单多次提交

java - 使用Java提交表单

Javascript 表单提交安全性

java - RedisUtil 共享连接池 false

.htaccess - 如何在有或没有尾斜杠的情况下进行301重定向?

java - 连续接收来自 Activemq 的消息

java - 获取 Axis2 的完整堆栈跟踪消息

php - 表单完成后如何重定向到php中的另一个页面?

apache - 使用 apache 后端在 varnish 中缓存重定向