不废话,就2个配置文件,直接上代码。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<!--
<resource-ref>
<res-ref-name>jdbc/mt</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<security-role>
<role-name>R_CASE_IT</role-name>
</security-role>
-->
<security-constraint>
<display-name>web</display-name>
<web-resource-collection>
<url-pattern>/index.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>R_CASE_IT</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<error-page>
<error-code>403</error-code>
<location>/403.jsp</location>
</error-page>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
tomcat中的context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/web">
<Resource auth="Container"
driverClassName="oracle.jdbc.OracleDriver"
maxActive="10"
maxIdle="4"
maxWait="5000"
name="jdbc/mt"
password=""
type="javax.sql.DataSource"
url=""
username="" />
<!--
-->
<Realm className="org.apache.catalina.realm.DataSourceRealm"
localDataSource="true"
dataSourceName="jdbc/mt"
roleNameCol="role_id"
userCredCol="password"
userNameCol="user_id"
userRoleTable="rsms_user_in_roles"
userTable="rsms_users" />
</Context>
登录页面login.jsp
<form action="j_security_check" method="post">
Username<input type="text" name="j_username" /><br />
Password<input type="password" name="j_password" /><br />
<input type="submit" />
</form>
在配置中遇到的问题:
在登录的时候报这个:name jdbc is not bound in this context
解决办法,在realm配置中加上 localDataSource="true",否则会在tomcat中定义的realm中找dataSource,即(针对tomcat-user.xml定义的UserDataSource),原因看下面的源代码。
在org.apache.catalina.realm.DataSourceRealm中打开数据库连接的源代码:
Context context = null;
if (localDataSource) {
context = ContextBindings.getClassLoader();
context = (Context) context.lookup("comp/env");
} else {
context =
((StandardServer)getServer()).getGlobalNamingContext();
}
DataSource dataSource = (DataSource)context.lookup(dataSourceName);
如果要自定义用户验证方式,将realm中的DataSourceRealm换成自定义的类(继承RealmBase或实现Realm接口,实现其验证方法)即可
分享到:
相关推荐
4. **安全性增强**:Tomcat 7增强了安全管理特性,提供了更细粒度的角色和权限控制,以满足企业级应用的安全需求。 5. **更好的部署方式**:Servlet 3.0引入了零配置部署,允许通过将WAR文件放在webapps目录下自动...
### Tomcat的安全方面设置与简单配置过程说明 在IT领域,服务器的安全性是至关重要的,尤其是在Web应用服务器中。Apache Tomcat作为一款广泛使用的开源Java Servlet容器,其安全性配置成为了许多开发者关注的重点。...
在Struts2中,可以通过Web容器(如Tomcat)实现基本的权限控制。具体来说,可以通过编辑容器的配置文件(如tomcat-users.xml)来定义不同的用户角色,并赋予这些角色特定的权限。 例如,对于一个工资管理系统,可以...
1. 安装与配置:Tomcat 5.5的下载、安装过程相对简单,用户可以通过解压文件直接使用。配置主要涉及`conf`目录下的`server.xml`文件,这是Tomcat的核心配置文件,用于定义服务器端口、虚拟主机、Context等信息。 2....
4. **安全管理器增强**:8.0.32版本改进了安全管理器,提供了更细粒度的权限控制,有助于防止潜在的恶意攻击。 5. **性能优化**:Apache Tomcat 8持续进行性能优化,包括内存管理和线程池的改进,使得应用程序运行...
安装Tomcat非常简单,例如压缩包中的"6apache-tomcat-6.0.14.exe"文件,这代表的是Tomcat 6.0.14版本的Windows安装程序。用户只需运行这个exe文件,按照提示进行安装,设置服务器端口、路径等配置,即可完成安装。在...
- `web.xml`中的安全约束和角色定义控制对Web应用的访问权限。 - SSL/TLS配置可以保护数据传输,通过`server.xml`中的`<Connector>`元素启用。 5. **性能优化**: - 调整连接器的最大连接数、空闲超时、线程池...
这两个应用需要在`conf/tomcat-users.xml`中设置相应的权限才能访问。 六、Tomcat性能优化 - 调整`server.xml`中的`MaxThreads`和`MinSpareThreads`参数来控制线程池大小,以适应不同的并发需求。 - 开启压缩功能...
JSP页面会被编译为Servlet,然后由Tomcat执行。 5. **易用性和可扩展性**:Tomcat以其轻量级架构和简单的配置而闻名,这使得它容易部署和管理。同时,由于Tomcat是基于Java的,所以它具有良好的跨平台兼容性。另外...
总结,Tomcat 8.5提供了一个简单易用且功能强大的Java Web应用服务器,适用于开发和部署中小型项目。解压版的便捷性使得快速搭建和测试环境变得更加容易。通过对配置文件的深入理解和调整,可以充分利用Tomcat的各项...
5. **安全性**:Tomcat支持多种安全机制,包括SSL/TLS协议以实现加密通信,角色基础的访问控制(RBAC)来限制不同用户的访问权限,以及可以通过`context.xml`和`server.xml`配置文件进行的其他安全设置。 6. **性能...
8. **错误处理**:TomCat提供了自定义错误页面的机制。当发生错误时,通过`ErrorReportValve`和`DefaultErrorPage`类,可以指定特定的HTTP状态码对应的错误页面。 9. **性能优化**:TomCat API允许开发者通过调整...
- `webapps/manager/WEB-INF/web.xml`和`webapps/host-manager/WEB-INF/web.xml`中的配置可以控制对管理应用的访问权限。 6. **性能优化**: - 调整`conf/server.xml`中的`<Connector>`元素,可以设置线程池大小...
安全是任何Web服务器的重要考虑因素,Tomcat提供了一套安全组件,如Realm(认证域)和 valves(过滤器),用于控制用户访问权限。例如,可以通过配置UserDatabase Realm来实现简单的用户名和密码验证,或者与其他...
例如,如果需要下载Tomcat 9.x版本,可以访问官方网站的相应页面进行下载。这里提供了一个百度网盘的链接,虽然不是官方渠道,但在无法直接访问的情况下也可以考虑使用: [https://pan.baidu.com/s/1qZ6izGK룺g417]...
10. **安装与运行**:Jakarta Tomcat 5.0.28的`.exe`文件是Windows平台的安装程序,用户可以简单地通过执行这个文件来安装和启动Tomcat服务器,从而开始搭建和测试Web应用。 总的来说,Jakarta Tomcat 5.0.28作为一...
1. **轻量级**:Tomcat以其简单、高效而著称。 2. **开源免费**:作为Apache项目的一部分,Tomcat是完全开源且免费的。 3. **易于部署**:应用程序可以通过放置在特定目录中自动部署。 4. **跨平台**:可以在多种...
3. **更好的安全性**:增加了安全管理器,提供更精细的权限控制,增强了应用的安全性。 4. **部署与管理**:引入了自动部署和热部署功能,允许开发者在不重启服务器的情况下更新应用。 5. **JMX(Java Management ...
1. **安装与配置**:Tomcat的安装通常是一个简单的解压过程,然后根据需要配置环境变量,如`CATALINA_HOME`指向Tomcat的安装目录。在`conf/server.xml`文件中可以修改默认端口、连接器配置以及其他服务器设置。 2. ...
2. 配置用户访问:编辑`conf/tomcat-users.xml`,添加用户角色和权限,实现登录控制。 3. 日志配置:修改`conf/logging.properties`来定制日志输出。 4. 配置Context:在`conf/Catalina/localhost/`下创建XML文件,...