`
can_do
  • 浏览: 258098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jetty对某个web应用启用安全认证

阅读更多
1、Jetty的版本为:【jetty-7.6.7.v20120910】

2、使用了spring bean格式的Jetty配置文件【jetty.xml】,需要修改如下配置段
//////////begin/////////
<!-- modified by can_do on web app security login not for [/*]=begin= -->
<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="admin" />
<property name="authenticate" value="true" />
</bean>
<bean id="securityConstraintMapping" class="org.eclipse.jetty.security.ConstraintMapping">
<property name="constraint" ref="securityConstraint" />
<property name="pathSpec" value="/console/*" />
</bean>
<!-- modified by can_do on web app security login =end= -->
//////////end///////////
其中要改两处:
(1)、参数【authenticate】开启,即改为true;
(2)、参数【pathSpec】调整映射的context路径,默认是所有war应用【/*】,此处根据需要可调整为针对当前应用的,
       即需要改为【/console/*】

注意:配置多个角色的方式时,角色间以comma隔开,如下:

<property name="roles" value="admin,read-only" />

3、调整认证域中指定的配置信息,即用户名、密码、角色等,如下:
//////////begin/////////
<bean id="securityLoginService" class="org.eclipse.jetty.security.HashLoginService">
<property name="name" value="FMQRealm" />
<property name="config" value="${fmq.conf}/jetty-realm.properties" />
</bean>
//////////end///////////
此处指定了配置文件为【${fmq.conf}/jetty-realm.properties】
//////begin////
# username: password [,rolename ...]
admin: console, admin
//////end//////
注意:配置格式为[用户名]: [密码], [角色]

4、通过Jetty自动工具类,可以对密码进行安全保护,有三种格式:混淆、MD5、校验和
用法如下:
////////////begin///////
Usage - java org.eclipse.jetty.security.Password [<user>] <password>
C:\fabric\fmq\lib\web>java -cp .;./jetty-all-server-7.6.7.v20120910.jar org.eclipse.jetty.util.security.Password admin console
console
OBF:1sot1wg21wu61ym71wu81wfw1sox
MD5:bfafd813d7ea65ee4db1f09d7c8ffbf4
CRYPT:adL4jzDus01r6
///////////end/////////

5、将认证域配置文件中的明文转发为密文存储起来,如下:
/////////begin//////////
# username: password [,rolename ...]
admin: MD5:bfafd813d7ea65ee4db1f09d7c8ffbf4, admin
/////////end////////////

注意:此处的前缀很重要,【OBF:】、【MD5:】、【CRYPT:】其告诉Jetty认证服务验证时,采用哪种方式进行验证。

【温馨提示】
如果您觉得满意,可以选择支持下,您的支持是我最大的动力:

分享到:
评论

相关推荐

    利用Jetty服务器开发web应用例程

    为了进一步增强你的Web应用,你可以使用Jetty提供的特性,如WebSocket支持、静态资源服务、安全管理等。此外,还可以集成Spring框架或 Jersey(JAX-RS实现)来构建RESTful API。 在项目中,`JettyTest`可能包含了这...

    JettY 部署Web应用程序.doc

    本文将深入探讨如何在Jetty中部署Web应用程序,包括相关术语和部署策略。 首先,我们需要理解一些关键术语: 1. **Web应用程序**:由HTML文件、图像、Java类文件、配置文件等组成的文件集合。对于符合Servlet规范...

    Spring整合Jetty开发web应用的例程

    在Java Web开发中,Spring框架和Jetty服务器的整合提供了轻量级且高效的应用部署解决方案。这个例程展示了如何利用Spring来启动和管理Jetty服务器,以构建和运行Web应用程序。下面将详细介绍这一过程中的关键知识点...

    用Maven和Jetty开发调试WEB应用程序

    ### 使用Maven和Jetty开发调试WEB应用程序 #### 前言 在现代软件开发过程中,集成工具如Maven和Jetty极大地提高了开发效率。Maven作为自动化构建工具,能够帮助开发者快速创建、管理和构建项目;而Jetty则是一款轻...

    jetty简单启动web服务

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛用于开发、测试以及部署Web应用程序。本文将详细介绍如何使用Jetty快速启动一个简单的Web服务,并进行微服务和简单桩测试。 首先,我们需要了解...

    经典jetty应用于web项目的开发

    此外,Jetty还支持多种SSL/TLS配置,确保了Web应用的安全性。 在标签“牛X的服务器工具jetty”中,我们可以看出Jetty在开发者中的口碑。它不仅因为其高效、灵活和易用性而受到赞誉,而且由于其社区活跃,更新及时,...

    jetty嵌入Web编程多种实现方式案例

    Jetty提供了安全模块,如JAAS认证、SSL/TLS加密等,确保Web服务的安全性。同时,Jetty可以通过调整线程池参数、内存配置等进行性能优化。 综上所述,Jetty的嵌入式特性使得它成为Java Web开发中的理想选择。无论是...

    jetty 8 嵌入web 及Jsoup测试

    Jetty 8是一款轻量级、高性能的Java Web服务器和Servlet容器,它允许开发者将Web服务器直接嵌入到他们的应用程序中,从而简化了部署和测试流程。Jsoup则是一个用于处理现实世界HTML的Java库,它提供了非常方便的API...

    jetty简单启动web服务第二版

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛用于开发和部署Web应用程序。在“jetty简单启动web服务第二版”中,我们将深入探讨如何利用Jetty来运行多个Servlet,实现一个微型服务架构。在这...

    eclipse中配置使用jetty调试web项目

    配置完成后,可以通过Eclipse的Run As菜单选择“Jetty Run”或“Jetty Debug”启动Web应用。在运行模式下,你可以通过浏览器访问`http://localhost:端口号/上下文路径`来查看应用。在调试模式下,可以设置断点并...

    应用服务器jetty8.0

    8. **安全性**:Jetty提供了基本的安全特性,如SSL/TLS支持,以及对JAAS(Java Authentication and Authorization Service)的集成,可以实现用户认证和访问控制。 9. **持续集成**:由于其轻量级和易于集成的特性...

    Jetty web 容器

    Jetty 是一个开源的、轻量级的 Java Web 应用服务器,它被广泛用于开发、测试和部署Web应用程序。Jetty 的设计目标是小巧、快速、易于集成,使其成为开发人员和小型团队的理想选择。在本文中,我们将深入探讨 Jetty ...

    maven +jetty 配置web工程

    在上述配置中,我们指定了Jetty插件的groupId、artifactId和version,以及一些基本的运行配置,如Web应用的上下文路径(contextPath)和停止服务器的键值对(stopKey和stopPort)。 接下来,为了启动Web工程,只需...

    JAVA里使用Jetty作为轻量级嵌入式的Web容器

    Java中的Jetty是一个轻量级、高性能且可嵌入式的Web服务器和Servlet容器,它以其简单...在学习和使用过程中,可以进一步研究压缩包中的jetty包,了解其内部结构和工作原理,这将有助于提升对Jetty的理解和应用能力。

    java web开发部署神器--jetty插件

    解压这个压缩包后,我们可以看到包括bin、lib、webapps等目录,其中bin目录下提供了启动和停止Jetty的脚本,lib目录包含运行所需的各种库文件,而webapps目录则是部署Web应用的地方。 使用Jetty,我们可以通过以下...

    jetty 学习资料合集

    9. **安全与认证**:理解Jetty的安全模型,包括基本认证、摘要认证、客户端证书认证等,以及如何配置安全角色和约束。 10. **WebSocket支持**:Jetty对WebSocket协议有很好的支持,学习如何创建WebSocket客户端和...

    Jetty实例包

    8. **安全性**:Jetty提供了一套强大的安全机制,包括用户认证、角色权限控制以及SSL/TLS加密,确保Web应用的安全性。 9. **性能优化**:Jetty针对Java内存模型进行了优化,具有高效的线程模型和异步I/O处理能力,...

    jetty启动的maven web项目

    在Java Web开发中,Jetty是一个轻量级、高性能的嵌入式Servlet容器,常被用于快速部署和测试Web应用程序。与Tomcat等其他服务器相比,Jetty的体积小、启动速度快,且可以直接与Maven集成,方便开发者进行项目的构建...

Global site tag (gtag.js) - Google Analytics