关于Servlet安全策略和GlassFish中的相关设置

GlassFish4安装部署   准备工作 http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html  下载Javase(JDK)并安装 1.下载 http://www.oracle.com/technetwork/cn/java/javaee/downloads/index.html(oracle官方ZIP版) https://glassfi... 阅读详情

关于Servlet安全策略和GlassFish中的相关设置

为了对HTTP所请求的资源进行相应的保护,需要对不同的请求设置不同的权限从而对请求资源进行保护。

对Java EE 7中Servlet安全策略的配置有2中方式。一种是通过注解的方式;一种是通过在部署文件web.xml中设置的方式。不管哪种方式,对于请求的访问控制都是在具体的请求方法和URL上进行的。比如有个servlet定义的url为/helloworld,对于该servlet,GET方法和POST方法的访问约束是独立的。

  • 注解的方式

通过@ServletSecurity注解进行配置就可以实现对servlet请求的访问控制。该注解包含2个元素,一个是@HttpConstraint,另一个是@HttpMethodConstraint。后者是对特定的HTTP方法的访问约束,前者是对后者没有定义的所有的HTTP方法的访问约束。两个注解中都可以定义允许访问的角色(rolesAllowed,默认值是空),访问通道是否需要加密(transportGuarantee,默认值是NONE),在没有定义访问角色的情况下默认的访问设置(value,默认值是EmptyRoleAllowed.DENY)。

  • 部署文件中的配置方式

在部署文件中通过标签<security-constraint>进行访问约束配置。该标签有三个部分,<web-resource-collection>用于定义具体进行约束的url(通过<url-pattern>)和HTTP方法(通过<http-method>或<http-omission-method>),<auth-constraint>用于定义具有访问权限的用户组(<role-name>),<user-data-constraint>用于定义传输通道是否需要加密(<transport-guarantee>)。对于同一组url和HTTP方法,可能有多个<security-consstraint>进行联合约束定义(更一般的情况是在某个security-constraint中可能定义了比较广泛的访问约束从而与后面特定的security-constraint定义产生了一些冲突或重合),至于最终的具体行为则根据一些规则进行判定。

 

完成servlet的访问约束定义后,还要对在GlassFish中定义相关的具有访问权限的用户。GlassFish中的用户是在realm中进行定义。每一个realm表示一种具体的安全策略域,在这个域中的用户都遵守相同的安全策略。GlassFish默认有admin-realm、file、certificate 3种realm。普通的用户验证使用file域,certificate主要用于证书验证,admin-realm用于服务器的管理员管理。

添加用户之后,要设置Default Principal to Role Mapping。在Configuration>server-config>security设置中就可以看见该选项。

 

相关内容具体可参看官方文档:http://docs.oracle.com/javaee/6/tutorial/doc/bncbx.html

Pascal Context数据集实战:从安装到格式转换的完整指南 本文提供了Pascal Context数据集的完整实战指南,从安装配置到格式转换的详细步骤。Pascal Context是计算机视觉领域重要的语义分割数据集,包含540个精细标注类别。文章涵盖数据集下载、环境配置、预处理技巧常见问题解决方案,帮助开发者高效利用这一数据集进行场景理解任务。 阅读详情

相关推荐

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

jks212454的博客 1066

GlassFishServletTest:使用 Java Servlet GlassFish 进行 Maven 表单提交测试

GlassFishServlet 测试 使用 Java Servlet GlassFish 进行表单提交测试

glassfish中使用servlet程序访问ejb

NULL 博文链接:https://looseep.iteye.com/blog/1733874

Jersey 2.x Glassfish 中基于 Servlet 的应用

如果你使用的是 Glassfish 作为你应用服务器,你不需要在你的引用中包含引用任何东西,所有你需要的都已经包含进去了。 你只需要定义 JAX-RS API 以便于你能够对你的应用进行编辑,使用 (provided)依赖。 1 2 3 4 5 6 &lt;dependency&gt;     &lt;groupId...

HONEY MOOSE 456

servlet的生命周期

编写一个完善的HTTP服务器,以HTTP/1.1为例:(1) 识别正确错误的HTTP请求(2) 识别正确错误的HTTP头····(3) 复用TCP链接(4) 复用线程(5) IO异常处理。

weixin_54535063的博客 333

Glassfish安装、基本使用、在idea中配置Glassfish

Glassfish安装、基本使用、 一、glassfish简介 glassfish是一款web应用服务器,tomcat一样,也是一款优秀的Servlet容器。 二、glassfish知识点 1、domain domain是glassfish中,拥有独立端口的存放web应用的容器。 glassfish可以创建多个domain,每个domain存放于glassfish/domains目录...

qq_25502749的博客 2143

GlassFish Server 配置https访问方式(二)

1、//用命令打开glassfish下的config目录或是java的安装目录\jdk\bin cd%glassfish_home%\domains\teras_domain\config   2、//生成新的sfb_store.jks 1:keytool -genkeypair -keyalg RSA -keysize1024 -keystore sfb_store.jks -vali

ZJin_Hua的专栏 2410

安全注释授权在 GlassFish Java EE 5 SDK 中的应用

By Shing Wai Chan, 7/14/08   安全性对于企业环境非常重要。在 Java EE 5 / GlassFish 环境中,您可以通过以下几种方式实现安全性: 传输层安全性 (TLS) / 安全套接字层 (SSL) 技术身份验证 (Authentication) 授权 (Authorization)消息层安全性(仅适用于 GlassFish 中的 Web ...

三味书屋 355

Spring Boot项目修改内置Tomcat版本:原理、实战与避坑指南

Java Web开发中,Servlet容器是承载应用运行的核心基础组件,它负责处理HTTP请求、管理会话生命周期。Spring Boot遵循“约定优于配置”的原则,默认集成了Tomcat作为嵌入式服务器,通过starter机制自动管理其版本依赖。这种设计极大地简化了部署,但在实际工程实践中,常因生产环境统一要求、安全补丁升级或特定第三方SDK兼容性,需要覆盖默认版本。理解Maven或Gradle的依赖传递与版本优先级机制是关键,通过属性覆盖或依赖排除等精准操作,可以安全地实现版本替换,确保应用在性能优化

weixin_33978044的博客 305

web.xml中<security-constraint>四种认证类型

security-constraint> 的子元素 是可选的,如果没有 元素,这表示将禁止所有 HTTP 方法访问相应的资源。  子元素 需要 相配合使用,但可以被单独使用。如果没有 子元素,这表明任何身份的用户都可以访问相应的资源。也就是说,如果 中没有 子元素的话,配置实际上是不起中用的。如果加入了 子元素,但是其内容为空,这表示所有身份的用户都被禁止访问相应的资源。 

phenix_egg的专栏 2467

使用glassfish测试servlet3.1

glassfish4是首个支持JavaEE 7的容器,即支持servlet3.1,于是使用glassfish4 maven插件测试,但是测试时一直不成功,接着参考oracle官网的一篇《GlassFish 4 beta and Maven Embedded Plugin》终于搞定。   没办法,切换到3.1.2.2插件,但是使用4.0-b86的内嵌容器,jar包巨大无比(差不多80多M),...

jinnianshilongnian的专栏 282

glassfish.jersey构建RESTful服务实例

一、环境 JetBrains14.2,tomcat8,Jersey2.13,maven3.3.9,jdk1.7 二、环境配置 1、创建一个maven项目RestDemo,目录结构如下: 2、修改pom.xml文件,如下: javax.servlet javax.servlet-api 3.1.0

goodyuedandan的博客 7552

org.glassfish.jersey.servlet.ServletContainer

SEVERE: Servlet /JerseyDemos threw load() exception java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer at org.apache.catalina.loader.WebappClassLoader.loadClass(Webapp

Joe_owl的专栏 8578

glassfish 自定义 jaas realm

https://www.oschina.net/translate/custom-jaas-realm-for-glassfish-3 转载于:https://www.cnblogs.com/SamuelSun/p/6386748.html

weixin_30786617的博客 170

glassfish基本配置(转载)

一. 下载GlassFishhttp://download.java.net/glassfish/截止我写这篇文章时(20161009),GlassFish 4.1.1在处理Json会报空指针错误。这个原因已被官方发现,将在下一版纠正。详情可以去Github上搜索。所以建议各位在学习使用GlassFish时使用4.1.0版本,甚至是4.0.0版本。建议下载图中的文件。点我下载二. 配置Domain...

不懂了e的博客 4803

GlassFish主配置文件domain.xml介绍

刚开始接触GlassFish时,觉得它好麻烦,配置也复杂,WEB管理端内容也繁多,其实还是自己对Java相关知识不了,再熟悉了这些之后,现在回头来看看,其实GlassFish的配置文件也是挺简单的。 推荐先去看看官方文档《GlassFish Server 4.0 Documentation》,英文版的。由于GlassFish的资料很少,中文版的更少,所以还是老老实实去看英文的官方文档吧。本文基于...

yetugeng的专栏 2106

2020-2025年中国MLCC行业市场深度调研及发展战略研究报告.pdf

2020-2025年中国MLCC行业市场深度调研及发展战略研究报告.pdf

上一篇: 关于JSF2中自定义组件处理表单值的一些问题
下一篇: 关于INT13H函数对U盘的读写
summac
博客等级 码龄18年 2粉丝 13原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值