使用Tomcat实现页面访问控制主要有三种方式:
引用
- 使用JDBCRealm利用数据库控制
- 使用JNDIRealm利用远程访问控制
- 使用MemoryRealm利用tomcat-users.xml文件控制
一、使用JDBCRealm利用数据库控制
1.The meaning of the attributes is as follow:
attribute | Meaning |
driverName | The name of the driver needed to connect to the database |
connectionURL | The connection URL used to connect to the database |
userTable | The user's tables |
userNameCol | The column in the user's table that contains the name |
userCredCol | The column in the user's table that contains the password |
userRoleTable | The user's roles table |
roleNameCol | The column in the user's table that contains a role given to a user |
connectionName | The name to use when connecting to the database. (Optional) |
connectionPassword | The password to use when connecting to the database. (Optional) |
digest | The algorithm used for digest passwords or "No" for plain passwords, the values can be "MD5", "MD2", "SHA", etc... (Optional) |
2.server.xml文件配制
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/globalapp"
connectionName="root" connectionPassword="x"
roleNameCol="role_name" userCredCol="user_pass"
userNameCol="user_name" userRoleTable="user_roles"
userTable="users" debug="50"/>
引用
connectionURL、connectionName、connectionPassword不能拼在一起使用一个符串,虽然Tomcat doc上使用的是这种方法,但试了很多次都没能成功。具体原因不详。如果有高手解决还望说明一下。
3.web.xml文件配制
<security-constraint>
<web-resource-collection>
<web-resource-name>Global App</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<!-- 这是FORM验证 -->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Global App DIGEST</realm-name>
<form-login-config>
<form-login-page>/accessConsole/login.jsp</form-login-page>
<form-error-page>/accessConsole/error.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>
The role that is required to log into the Global application
</description>
<role-name>admin</role-name>
</security-role>
4.数据库表建设
create table users (
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
);
create table user_roles (
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key (user_name, role_name)
);
insert into users values("xwood", "xwood");
insert into user_roles values("xwood", "admin");
这里除了采用FORM验证外还可以采用BASIC验证,别外还有一种客户端证书验证方法没有用过。采用BASIC验证方法只需要将<form-login-config>标签去掉即可。
二、使用JNDIRealm利用远程访问控制
引用
还未具体研究
三、使用MemoryRealm利用tomcat-users.xml文件控制
1.server.xml配置
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Realm className="org.apache.catalina.realm.MemoryRealm"
resourceName="UserDatabase"/>
其中,UserDatabase在server.xml中已经完成配置
2.tomcat-users.xml配置
<role rolename="admin"/>
<role rolename="user"/>
<user username="xwood" password="xwood" roles="admin"/>
3.web.xml配置
引用
与JDBCRealm相同
分享到:
相关推荐
### Tomcat 9 用户访问配置问题详解 #### 一、问题背景及现象 ...综上所述,通过调整Tomcat用户的权限配置以及放宽IP访问限制,可以有效解决“403 Access Denied”问题,实现对后台管理界面的正常访问。
8. **安全管理**:Tomcat提供角色基础的安全管理,包括 Realm(认证域)、LoginConfig(登录配置)和AccessController(访问控制)。 9. **热部署与监控**:Tomcat支持热部署,允许在不重启服务器的情况下更新Web...
### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...
Tomcat7支持通过Context元素的`<Valve>`标签动态添加阀门(Valves),这些阀门可以用于日志记录、访问控制等。此外,它还加强了对HTTPS的支持,提供了更灵活的错误页面处理,并且支持部署目录结构的变化,使得应用...
Tomcat 5.5 是一个广泛使用的开源Java Servlet容器,它实现了Java EE Web应用程序的Servlet和JSP规范。在这个版本中,Tomcat以其轻量级、高效和稳定性的特点赢得了开发者们的喜爱。然而,对于初学者或忙碌的开发者来...
7. **安全管理**:Tomcat支持基本的安全功能,如角色为基础的访问控制(RBAC)、SSL/TLS加密通信等,以保护Web应用免受未经授权的访问。 8. **部署与管理**:Tomcat可以通过管理工具(如Manager App)进行Web应用的...
首先,我们来梳理一下Java、Tomcat和SpringMVC在实现页面访问时各自扮演的角色和工作流程。Java是一种广泛使用的编程语言,具备跨平台的特性,常被用来开发企业级的Web应用。Apache Tomcat是一个开源的Servlet容器,...
5. 新的安全特性:增加了Secure Sockets Layer (SSL)和Transport Layer Security (TLS)的管理,以及角色基础的访问控制。 6. 多线程模型优化:改进了线程池的管理和异常处理,提升了整体稳定性。 Tomcat 8: 1. ...
Java语言开发的统一角色访问控制系统,基于Spring Security 3实现的权限控制系统 程序框架版本说明:Spring MVC 3.0.6 + Spring Security 3.1.3 + Hibernate 3.6.10 运行演示例子: 例子使用的是MySQL数据库,也...
5. 在`Tomcat`中部署这个HTML页面,使用户可以通过浏览器访问并播放流媒体。 通过这个流程,你可以创建一个基本的流媒体服务,使得用户可以在web端流畅地观看视频内容。但要注意,实际应用可能还需要考虑其他因素,...
综上所述,要使用Tomcat实现WebSocket,你需要理解WebSocket的基本概念,配置Tomcat以支持WebSocket,编写WebSocket服务器端点代码,并在客户端使用适当的API与服务器进行通信。同时,还需要关注性能和安全方面的...
`Realm`接口及其实现类(如`MemoryRealm`, `JDBCRealm`)处理用户身份验证,`AccessController`处理访问控制。 10. **错误处理**:当发生错误时,Tomcat会生成定制的错误页面。源码中,`ErrorReportValve`类处理...
1. **用户认证**:通过`conf/tomcat-users.xml`配置用户和角色,实现基本的访问控制。 2. **SSL配置**:在`server.xml`中配置`<Connector>`元素,启用HTTPS,提供安全的数据传输。 3. **权限控制**:使用`...
- 在控制面板的“服务”管理工具中,找到Tomcat服务,将其启动类型设置为“自动”,确保服务随系统启动而启动。 6. **创建监控脚本**: - 创建一个VBS脚本,利用VBScript语言定时访问`monitor.jsp`,检查HTTP状态...
5. **安全性**:Tomcat提供了多种安全机制,包括SSL/TLS支持、角色为基础的安全访问控制以及各种认证方法,如FORM、BASIC和DIGEST等。 6. **多线程模型**:Tomcat使用多线程模型处理并发请求,确保了高效的性能。 ...
4. **访问Tomcat**:通过浏览器输入`http://your_server_ip:8080`,如果一切正常,你应该能看到Tomcat的欢迎页面。 5. **部署应用**:将你的Web应用程序(WAR文件或解压的目录)复制到`webapps`目录下,Tomcat会...
Apache+Tomcat+JK 实现集群负载均衡是一种常见的Web服务器和应用服务器的部署方式,它能够提高系统的可用性和响应速度,实现服务的高并发处理。本文将详细介绍如何配置这一环境。 首先,我们需要准备以下软件: 1. ...
- 通过访问`http://localhost:8080`访问默认的Tomcat管理页面。 - 使用conf/server.xml配置服务器端口、连接器、Context等参数。 - 修改conf/web.xml来调整全局的Web应用设置。 - conf/logging.properties用于配置...
Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范,包括Servlet和JSP。在Linux环境下运行Tomcat,可以为开发者提供一个稳定且高效的平台来部署Java Web应用。 描述中提到,这个...
- 默认情况下,管理应用是不安全的,需要配置访问控制,避免未授权访问。 - SSL配置应根据生产环境需求进行,以保护传输数据的安全性。 6. **性能优化**: - 调整`conf/server.xml`中的线程池参数,如最大线程数...