java - Servlet 声明式安全

标签 java jakarta-ee authentication servlets

为了 Servlet 安全,我读到在 web.xml 中我们可以声明

<auth-constraints> and <user-data-constraint> 

用于打开 SSL 和进行身份验证。但到目前为止,我个人还没有在现实生活中的 web.xml(在 Tomcat、Glassfish 上运行的应用程序)中看到任何这些声明

所以我想知道实现这些目标的替代方法是什么?哪种方式更受欢迎?

最佳答案

强烈依赖于所使用的应用程序服务器,但一般来说,如果不在 AS(而不是部署描述符)级别启用 SSL,则无法使应用程序服务器公开使用 SSL 的应用程序。

例如,对于 Tomcat,必须在 server.xml 中启用 SSL 连接器(默认端口 8443)。然后,您可以使用 mod_proxymod_jk 将 Apache (httpd) 用作反向代理。

在代码中,您可以使用 ServletFilter 拦截所有请求,如果通信不在 SSL 之上,您可以将用户重定向到某个登录页面。

关于java - Servlet 声明式安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14006247/

相关文章:

java - JDBC(微软SQL服务器): No suitable driver found for url

java - Leopard 上各种 com.sun.* 包的 Java 源代码在哪里?

jakarta-ee - JPA数据访问对象——异常处理和回滚

java - 为什么我们可以在刷新页面时看到 jsp 上所做的更改?为什么不为servlet?

php - Javascript登录,基础知识

android - 为 Android 上的 Google+ 重新生成 "one time authorization code"

java - com.google.inject.Key 无法解析

java - 关于 JDBC 资源和 JDBC 连接池 Glassfish 的一些混淆

php - 将旧用户迁移到 symfony2

java - Vaadin:识别 HTML 添加的 CSS 类