一、使用Eclipse创建一个myapp JavaEE工程
二、配置用户、密码、角色
修改Tomcat的conf目录下的tomcat-users.xml文件,内容如下:
二、配置用户、密码、角色
修改Tomcat的conf目录下的tomcat-users.xml文件,内容如下:
<role rolename="tomcat"/>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="manager" password="manager" roles="manager"/>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="manager" password="manager" roles="manager"/>
三、配置web
修改myapp/WEB-INF/web.xml文件
在<web-app></web-app>标签中添加一下内容
<security-constraint>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>tomcat</role-name>
</security-role>
<security-role>
<role-name>manager</role-name>
</security-role>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>tomcat</role-name>
</security-role>
<security-role>
<role-name>manager</role-name>
</security-role>
四、在浏览器地址栏输入http://localhost:8080/myapp-1.0/,如果没有输入用户和密码出现401
输入正确的用户和密码后
五、在index.jsp添加以下代码
<%@page language="java" import="java.util.*" %>
<%@page language="java" import="org.apache.commons.codec.binary.Base64" %>
<%
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = (String) headerNames.nextElement();
String headerValue = request.getHeader(headerName);
out.println(headerName + ": " + headerValue + "<br/>");
}
out.println("<hr/>");
String authHeader = request.getHeader("authorization");
String encodedValue = authHeader.split(" ")[1];
out.println(new String(Base64.decodeBase64(encodedValue)));
%>
<%@page language="java" import="org.apache.commons.codec.binary.Base64" %>
<%
Enumeration headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = (String) headerNames.nextElement();
String headerValue = request.getHeader(headerName);
out.println(headerName + ": " + headerValue + "<br/>");
}
out.println("<hr/>");
String authHeader = request.getHeader("authorization");
String encodedValue = authHeader.split(" ")[1];
out.println(new String(Base64.decodeBase64(encodedValue)));
%>
六、运行结果
accept: text/html, application/xhtml+xml, image/jxr, */*
accept-language: zh-CN
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393
accept-encoding: gzip, deflate
host: localhost:8080
connection: Keep-Alive
cache-control: no-cache
authorization: Basic dG9tY2F0OnRvbWNhdA==
tomcat:tomcat(dG9tY2F0OnRvbWNhdA==解密后结果)
accept-language: zh-CN
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393
accept-encoding: gzip, deflate
host: localhost:8080
connection: Keep-Alive
cache-control: no-cache
authorization: Basic dG9tY2F0OnRvbWNhdA==
tomcat:tomcat(dG9tY2F0OnRvbWNhdA==解密后结果)
相关推荐
#RESTful Web服务基本身份验证 基本身份验证是保护任何URL的最简单方法。 用户应具有服务器访问URL的权限。 这是容器管理的身份验证。 #什么是身份验证? 是识别可以访问系统的用户的过程。... 有很多方法可以实现...
6. **更新Tomcat配置**:还需要在Tomcat的配置文件`tomcat-users.xml`中添加相应的用户信息。示例代码如下: ```xml <?xml version='1.0' encoding='utf-8'?> <tomcat-users> ,manager"/> </tomcat-...
在本文中,我们将深入探讨如何实现Tomcat服务器中...在提供的压缩包文件中,"Tomcat FORM验证"和"Tomcat BASIC验证"可能包含示例配置文件和登录表单页面,可以作为实际操作的起点。记得根据自己的需求进行调整和测试。
josso+Tomcat配置之josso服务器配置 josso是基于Java的单点登录(SSO)服务器,能够提供身份验证和授权服务。Tomcat是Apache软件基金会开发的开源Java servlet容器。配置josso服务器需要将josso war文件部署到...
压缩包中的"BasicAuthentication-HTTP--master"可能包含以下内容: 1. 示例Web应用程序的源代码,包括Servlet、JSP或HTML页面。 2. 配置文件,如`web.xml`和`tomcat-users.xml`。 3. 可能还有README文件,解释如何...
6. **安全性增强**:支持JAAS(Java Authentication and Authorization Service),可以配置多种认证机制,如Basic Auth、Digest Auth等,以增强服务器的安全性。 7. **性能优化**:Tomcat7.0对内存管理和线程池...
5. **安全性**: Tomcat 7支持JAAS(Java Authentication and Authorization Service),可以配置多种认证机制,如Basic Auth、Form Auth等,并可以通过 Realm 对象进行用户和角色的管理,实现细粒度的权限控制。...
5. **安全性**:Tomcat 7.0强化了安全功能,支持JAAS(Java Authentication and Authorization Service),允许配置多种认证机制,如Basic Auth、Form Auth等。同时,它还提供了角色基础的访问控制,通过`...
Tomcat提供了多种安全机制,如角色基础的访问控制(RBAC)、SSL/TLS加密、Basic、Digest或Form认证等。通过`conf/server.xml`中的`<Realm>`元素和`<Security-constraint>`元素进行配置。 **八、Tomcat性能优化** ...
Tomcat支持多种验证方法,如表单验证(FORM)、基本HTTP验证(BASIC)等。 - 示例中的`web.xml`文件指定了使用**表单验证**作为验证方法。表单验证是一种常用的验证方式,它通过HTML表单收集用户凭据。 #### 三、...
源码中,我们能看到JAAS(Java Authentication and Authorization Service)的集成,以及各种认证方法如Basic、Digest、Form等的实现。 6. **线程池与并发控制** Tomcat6.0.18的线程池模型是基于Executor框架的,...
Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,这使得部署应用变得简单,无需额外配置外部服务器。 3. **自动配置(Auto Configuration)** Spring Boot的自动配置根据类路径中的存在条件来配置Spring...
8. **虚拟主机**:Tomcat允许在同一台服务器上配置多个虚拟主机,每个虚拟主机可以托管不同的Web应用,通过配置`server.xml`中的Host元素实现。 9. **更新和兼容性**:尽管Tomcat 6.0.13已经比较老旧,但它是向后...
6. **安全增强**:支持JAAS(Java Authentication and Authorization Service),可以配置多种认证机制,如Basic Auth、Digest Auth等,并提供角色基础的访问控制。 7. **多应用支持**:Tomcat 7.0可以同时部署多个...
在IBM WebSphere Application Server(WAS)环境中配置与Central Authentication Service(CAS)实现单点登录(SSO)是一个涉及多个组件和步骤的过程。首先需要了解的是,WAS是一个广泛应用于IBM Tivoli软件产品中的...
- **示例代码**: 在`spring-security.xml`中配置`<authentication-manager>`和`<authentication-provider>`。 - **2.2 数据库表结构** - 介绍数据库表的设计原则,包括用户表(`users`)、角色表(`roles`)以及权限...
"启动服务后无需添加任何后端代码前端便可以通过默认接口直接访问到自己在数据库建的表和查询视图" 这句话表明项目中可能包含了一种预配置的服务或者API接口,允许前端开发者能够直接与数据库进行交互,而不需要额外...
- 介绍如何配置Spring Security支持Basic认证。 - **10.2 编程实现Basic客户端** - 演示如何编写代码实现Basic认证的客户端。 **11. 标签库** - **11.1 配置taglib** - 说明如何配置Spring Security提供的标签库...