Web 应用程序的容器管理安全性

2024-01-10

我对容器管理的安全性完全陌生,需要一些帮助来在我的 Web 应用程序中配置它。

我想限制对我的 Web 应用程序中的 jsp 的访问。这就是我在 web.xml 中配置安全性的方式

<security-constraint>
    <display-name>PrivilegedConstraint</display-name>
    <web-resource-collection>
        <web-resource-name>JSP Files</web-resource-name>
        <description>All the jsp files in the web application</description>
        <url-pattern>*.jsp</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description/>
        <role-name>PrivilegedRole</role-name>
    </auth-constraint>
    <user-data-constraint>
        <description/>
        <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>BasicRealm</realm-name>
</login-config>
<security-role>
    <description>This is a privileged role. Has access to everything in the web app</description>
    <role-name>PrivilegedRole</role-name>
</security-role>

我的问题是:

login-config 元素中的realm-name 的用途是什么? 在哪里配置用户名、密码并将用户映射到角色?

当我尝试访问 Web 应用程序中的 jsp 时,系统会要求我输入用户名和密码。我在那里给什么?那么这个安全机制是如何运作的呢?

我对安全性完全陌生,所以如果有人能给我指出一篇好文章,解释配置安全性的基础知识及其实际工作原理,我将不胜感激。


问:“login-config 元素中的领域名称的用途是什么?”

来自Java EE 6 教程 http://download.oracle.com/javaee/6/tutorial/doc/bnbxj.html:

A realm是为 Web 或应用程序服务器定义的安全策略域。领域包含用户的集合,这些用户可能会也可能不会分配到某个组。

当前定义的行为Servlet 3.0 规范 http://jcp.org/en/jsr/detail?id=315:

HTTP 基本身份验证,基于用户名和密码, 是HTTP/1.0规范中定义的身份验证机制。 Web 服务器请求 Web 客户端对用户进行身份验证。作为一部分 请求中,Web 服务器会传递领域(字符串),其中 用户将被认证。 Web客户端获取用户名 和用户的密码并将其传输到 Web 服务器。 然后,Web 服务器对指定领域中的用户进行身份验证。

问:“在哪里配置用户名、密码并将用户映射到角色?”

这是容器特定的。也就是说,每个服务器供应商可以自由定义如何定义用户/组以及如何配置此信息。通常有不止一种方法可以做到这一点。

用户和组通常在目录中定义。然后将服务器配置为使用此目录,管理员将在部署时映射应用程序角色。

开发者 Tomcat 测试服务器可能使用平面文件;生产WebSphere 服务器可能通过LDAP 连接到公司的Exchange 目录。

有关更多信息,请参阅您的服务器文档。

你可以做比遵循更糟糕的事情甲骨文Java EE 6 http://download.oracle.com/javaee/6/tutorial/doc/index.htmlNetbeans 和 Glassfish 教程,但请注意特定于该供应商产品的步骤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web 应用程序的容器管理安全性 的相关文章

  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • Hibernate注解放置问题

    我有一个我认为很简单的问题 我见过两种方式的例子 问题是 为什么我不能将注释放在字段上 让我举一个例子 Entity Table name widget public class Widget private Integer id Id G
  • 如何创建一个显示 Spinners 的 x 和 y 值的表格?

    我想创建一个位于图表右侧的表格 其中显示 2 列 x 和 y 值已输入到xSpin and ySpin旋转器 我已经画了一张我想要桌子放置的位置的图 我尝试过在网格窗格布局中使用文本框来创建表格并将值直接输入到文本框网格中 但是我无法将它们
  • 是什么决定了从 lambda 创建哪个函数式接口?

    请考虑这个例子 import java util function Consumer public class Example public static void main String args Example example new
  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • org.apache.sling.api.resource,version=[2.3,3) -- 无法解析

    您好 我无法访问我的项目内容 我已经上传了从 CQ 访问内容所需的所有包 我唯一能看到的是 org apache sling api resource version 2 3 3 无法解析 这是否是异常的原因 如果是 请告诉我如何解决 中Q
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • 如何在 Java 中测试一个类是否正确实现了 Serialized(不仅仅是 Serialized 的实例)

    我正在实现一个可序列化的类 因此它是一个与 RMI 一起使用的值对象 但我需要测试一下 有没有办法轻松做到这一点 澄清 我正在实现该类 因此在类定义中添加 Serialized 很简单 我需要手动序列化 反序列化它以查看它是否有效 我找到了
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 如何在JSTL中调​​用java方法? [复制]

    这个问题在这里已经有答案了 这可能是重复的问题 我只想调用不是 getter 或 setter 方法的方法例如 xyz 类的 makeCall someObj stringvalue Java类 Class XYZ public Strin
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • Eclipse 中 Spring MVC 模型对象的 (jsp /jstl) 视图中的代码辅助

    在 Spring MVC 中 当将对象放置在视图模型中时 如下所示 public String getUser Model model fetch user model addAttribute user user return viewN
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • Trie 数据结构 - Java [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库或文档 链接提供了在 java 中实现 Trie 数据结构的更多信息 任何帮助都会很棒 Thanks 你可以阅读Java特里树
  • 如何在 JFreeChart 中设置多个系列的线条粗细?

    我创建了很多图表 在他们每个人中我都需要打电话 renderer setSeriesStroke i new BasicStroke 2 0f 对于每个系列 renderer is chart getXYPlot getRenderer 我

随机推荐

  • 当文件上传超过 ASP.NET MVC 中允许的大小时显示自定义错误页面

    我的主要问题是 当上传的文件超过允许的大小 web config 中的 maxRequestLength 时 我想显示自定义错误页面 上传大文件时 在调用控制器中的上传操作方法之前会引发 HttpException 这是预料之中的 我尝试捕
  • ASP.Net Core - API 身份验证错误时没有重定向

    在我的 ASP NET Core 项目中 我有一些具有 jwt 授权的 API 控制器 如下所示 Route api v1 controller public class MyController Controller HttpGet ac
  • Android 视图 - 如何通过 XML 配置“松散”的视图元素?

    这就是我想要实现的目标 在 TabWidget 中使用 TextView 即调用TabHost TabSpec setIndicator View 代替TabHost TabSpec setIndicator String 我想在 XML
  • 计算 nCr 的更好方法

    方法一 C n r n n r r 方法2 在书里 我发现了这个 C n r 可以写成C n 1 r C n 1 r 1 例如 C 7 4 C 6 4 C 6 3 C 5 4 C 5 3 C 5 3 C 5 2 After solving
  • 权限拒绝:读取 com.android.providers.contacts.CallLogProvider

    我在特定手机和运营商上遇到此异常 Verizon 的 Samsung Galaxy S3 我已经在 Sprint 的 Evo 和 AT T 的 Galaxy Nexus 上进行了测试 没有一个给我这个错误 我想知道电话运营商是否对操作系统进
  • dask:并行模型中的共享内存

    我已经阅读了 dask 文档 博客等 但我仍然不是 100 清楚如何做到这一点 我的用例 我有大约 10GB 的参考数据 一旦加载 它们就是只读的 通常我们将它们加载到 Dask Pandas 数据框中 我需要这些参考数据来处理 丰富 修改
  • 如何在React Native应用程序中使用React Js组件?

    是否可以在React Native应用程序中使用所有ReactJS组件 如果不能 在React JS和React Native之间切换的最佳方法是什么 如果一个应用程序是使用react js完成的 是否有必要 强制 使用redux 主要有两
  • 将数据帧转换为另一个数据帧,将复合字符串单元格拆分为单独的行[重复]

    这个问题在这里已经有答案了 我希望使用 Python 将数据帧 df1 转换为 df2 我有一个使用循环的解决方案 但我想知道是否有更简单的方法来创建 df2 df1 Test1 Test2 2014 2015 2016 Present 1
  • AS3 克隆影片剪辑

    下面是我尝试克隆影片剪辑的代码 但它不起作用 如果代码工作正常 我们应该看到两个圆圈 The original MovieClip var circle MovieClip new MovieClip circle graphics beg
  • 如何从 .kube/config 中设置的当前上下文获取命名空间

    我正在尝试以编程方式在 Go 中获取 kube config 中当前上下文的命名空间 到目前为止 我尝试的是这些模块 k8s io client go tools clientcmd k8s io client go kubernetes
  • Laravel 使用 ssl 包含 css、js

    我刚刚在我的网络服务器上安装了 SSL 证书 但我的 laravel 设置遇到了一些问题 我在用着 HTML style css style css 包含 css 和 js HTML script js jquery js 虽然当我使用 h
  • 适用于 Mac OSX 的 IPython3

    我安装了 Ipython 但它在 python 2 7 5 上运行 我还安装了 python 3 3 如何进行更改以使 Ipython 在 python 3 3 而不是 2 7 5 上运行 你需要安装pip对于 Python 3 这就像访问
  • SharePoint 站点定义

    我基于发布门户创建了一个简单的站点定义 每次我想使用模板创建网站集时 都会收到以下错误消息 您选择的模板无效或无法找到 我不使用任何自定义功能 仅使用发布门户 site def 的默认功能 有什么提示吗 有一个错误日志 但它只提供了上面的信
  • 在 R 中使用 Quantmod 进行下载-保存-加载往返

    我想使用 quantmod 下载数据 将它们保存到文件中以便稍后加载 下面一段R代码 library quantmod symbols lt c DEXUSUK STLFSI GDP tmpdir lt tempdir getSymbols
  • 这些 RubyInstaller 2.4 组件有什么作用?

    几天之前 Windows 版 RubyInstaller 2 4 发布 https rubyinstaller org 2017 05 25 rubyinstaller 2 4 1 1 released html 安装后 它会问我以下问题
  • Neo4j over Bolt 协议具有非常高的延迟

    我正在将 Neo4j 用于一个项目 使用此处找到的 NET 官方 Neo4j 驱动程序 https www nuget org packages Neo4j Driver https www nuget org packages Neo4j
  • array.contains 的 jquery 版本

    jQuery 可以测试数组中是否存在对象 作为核心功能的一部分或通过可用的插件 另外 我正在寻找类似的东西array remove 这将从数组中删除给定的对象 jQuery 可以帮我处理这个问题吗 jQuery inArray http d
  • 进程已完成,退出代码 -1073741515 (0xC0000135)

    我正在运行一个 python 脚本 它曾经可以工作 现在甚至在我的另一台笔记本电脑上也可以 但不能在我当前的计算机上 我只是得到错误代码 Process finished with exit code 1073741515 0xC00001
  • 如何使用内联函数声明字典

    在将函数用作字典的元素之前 是否必须正式定义该函数 def my func print my func d function my func 我宁愿内联定义该函数 我只是想输入我想要做的事情 但是 python 语法的空白策略使得在字典中定
  • Web 应用程序的容器管理安全性

    我对容器管理的安全性完全陌生 需要一些帮助来在我的 Web 应用程序中配置它 我想限制对我的 Web 应用程序中的 jsp 的访问 这就是我在 web xml 中配置安全性的方式