gpt4 book ai didi

java - 如何在 Web 应用程序中实现 HTTPS 登录页面?

转载 作者:太空狗 更新时间:2023-10-29 22:45:13 25 4
gpt4 key购买 nike

我想创建一个安全的登录/注销机制。我开始阅读以下文章以了解需要考虑的事项:

这些文章提出了一些很好的观点,但我正在考虑以与 Yahoo 邮件登录页面类似的方式使用 HTTPS。你知道……你输入 http://mail.yahoo.com并且您将被重定向到一个 HTTPS 页面,例如 **https://**login.yahoo.com/config/login ,您可以在其中插入您的用户名和密码,并且在您的凭据得到验证后,您将被重定向回一个带有生成的 HTTP 页面session_id cookie 以及从那里开始的所有通信都使用 cookie 在 HTTP 上进行。

我需要什么来实现这个行为?

我想为两个 Java Web 应用程序(一个使用 Spring 框架,另一个使用 Struts 1)执行此操作,但不知道如何将 HTTPS 部分集成到应用程序中(我以前从未使用过 HTTPS)。

最佳答案

首先,您需要为您的服务器启用 SSL。对于 Tomcat,您需要生成一个 openSSL keystore 并将以下连接器添加到 server.xml:

<Connector port="8443" scheme="https" secure="true" SSLEnabled="true"
keystoreFile="mykeystore" sslProtocol="TLS"
keystorePass="keystore password" />

要将 SSL 集成到您的应用程序中,我推荐使用 Spring Security。它提供的正是您想要的(通过 HTTPS 登录,然后重定向到 HTTP)。实现它所需要做的就是将 forceHTTPS 设置为 true:

<bean id="authenticationProcessingFilterEntryPoint"
class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint">
<property name="loginFormUrl" value="/pages/login.jsp" />
<property name="forceHttps" value="true"/>
</bean>

当然,Spring 和 Spring 安全性确实有一个相当陡峭的学习曲线,但这是完全值得的。做一次,然后你可以在不到一个小时的时间内将它应用到新的应用程序中。您可以在 Spring 和 Struts 应用程序中使用 Spring Security。

Spring 安全性曾经是 Acegi 安全性。这是 article这会让你开始。

关于java - 如何在 Web 应用程序中实现 HTTPS 登录页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1454021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com