`
78425665
  • 浏览: 125662 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

简单又好用的Tomcat 页面权限控制

阅读更多
不废话,就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接口,实现其验证方法)即可
分享到:
评论

相关推荐

    tomcat7.0绿色纯净版,无需安装简单快捷安全

    4. **安全性增强**:Tomcat 7增强了安全管理特性,提供了更细粒度的角色和权限控制,以满足企业级应用的安全需求。 5. **更好的部署方式**:Servlet 3.0引入了零配置部署,允许通过将WAR文件放在webapps目录下自动...

    Tomcat 的安全方面设置 简单配置过程 说明

    ### Tomcat的安全方面设置与简单配置过程说明 在IT领域,服务器的安全性是至关重要的,尤其是在Web应用服务器中。Apache Tomcat作为一款广泛使用的开源Java Servlet容器,其安全性配置成为了许多开发者关注的重点。...

    Struts2框架的权限控制研究

    在Struts2中,可以通过Web容器(如Tomcat)实现基本的权限控制。具体来说,可以通过编辑容器的配置文件(如tomcat-users.xml)来定义不同的用户角色,并赋予这些角色特定的权限。 例如,对于一个工资管理系统,可以...

    Tomcat5.5中文版

    1. 安装与配置:Tomcat 5.5的下载、安装过程相对简单,用户可以通过解压文件直接使用。配置主要涉及`conf`目录下的`server.xml`文件,这是Tomcat的核心配置文件,用于定义服务器端口、虚拟主机、Context等信息。 2....

    apache-tomcat-8.0.32

    4. **安全管理器增强**:8.0.32版本改进了安全管理器,提供了更细粒度的权限控制,有助于防止潜在的恶意攻击。 5. **性能优化**:Apache Tomcat 8持续进行性能优化,包括内存管理和线程池的改进,使得应用程序运行...

    Tomcat容器

    安装Tomcat非常简单,例如压缩包中的"6apache-tomcat-6.0.14.exe"文件,这代表的是Tomcat 6.0.14版本的Windows安装程序。用户只需运行这个exe文件,按照提示进行安装,设置服务器端口、路径等配置,即可完成安装。在...

    tomcat配置大全 tomcat配置大全

    - `web.xml`中的安全约束和角色定义控制对Web应用的访问权限。 - SSL/TLS配置可以保护数据传输,通过`server.xml`中的`&lt;Connector&gt;`元素启用。 5. **性能优化**: - 调整连接器的最大连接数、空闲超时、线程池...

    Tomcat免安装版下载

    这两个应用需要在`conf/tomcat-users.xml`中设置相应的权限才能访问。 六、Tomcat性能优化 - 调整`server.xml`中的`MaxThreads`和`MinSpareThreads`参数来控制线程池大小,以适应不同的并发需求。 - 开启压缩功能...

    web服务器tomcat7.0

    JSP页面会被编译为Servlet,然后由Tomcat执行。 5. **易用性和可扩展性**:Tomcat以其轻量级架构和简单的配置而闻名,这使得它容易部署和管理。同时,由于Tomcat是基于Java的,所以它具有良好的跨平台兼容性。另外...

    tomcat8.5解压版

    总结,Tomcat 8.5提供了一个简单易用且功能强大的Java Web应用服务器,适用于开发和部署中小型项目。解压版的便捷性使得快速搭建和测试环境变得更加容易。通过对配置文件的深入理解和调整,可以充分利用Tomcat的各项...

    Tomcat 6.0 安装版

    5. **安全性**:Tomcat支持多种安全机制,包括SSL/TLS协议以实现加密通信,角色基础的访问控制(RBAC)来限制不同用户的访问权限,以及可以通过`context.xml`和`server.xml`配置文件进行的其他安全设置。 6. **性能...

    TomCat API

    8. **错误处理**:TomCat提供了自定义错误页面的机制。当发生错误时,通过`ErrorReportValve`和`DefaultErrorPage`类,可以指定特定的HTTP状态码对应的错误页面。 9. **性能优化**:TomCat API允许开发者通过调整...

    tomcat-7.0.52

    - `webapps/manager/WEB-INF/web.xml`和`webapps/host-manager/WEB-INF/web.xml`中的配置可以控制对管理应用的访问权限。 6. **性能优化**: - 调整`conf/server.xml`中的`&lt;Connector&gt;`元素,可以设置线程池大小...

    apache-tomcat-7.0.52_mirrorhem_tomcat_almost5fx_

    安全是任何Web服务器的重要考虑因素,Tomcat提供了一套安全组件,如Realm(认证域)和 valves(过滤器),用于控制用户访问权限。例如,可以通过配置UserDatabase Realm来实现简单的用户名和密码验证,或者与其他...

    Linux下的tomcat安装包

    例如,如果需要下载Tomcat 9.x版本,可以访问官方网站的相应页面进行下载。这里提供了一个百度网盘的链接,虽然不是官方渠道,但在无法直接访问的情况下也可以考虑使用: [https://pan.baidu.com/s/1qZ6izGK룺g417]...

    jakarta-tomcat-5.0.28

    10. **安装与运行**:Jakarta Tomcat 5.0.28的`.exe`文件是Windows平台的安装程序,用户可以简单地通过执行这个文件来安装和启动Tomcat服务器,从而开始搭建和测试Web应用。 总的来说,Jakarta Tomcat 5.0.28作为一...

    linux下安装tomcat

    1. **轻量级**:Tomcat以其简单、高效而著称。 2. **开源免费**:作为Apache项目的一部分,Tomcat是完全开源且免费的。 3. **易于部署**:应用程序可以通过放置在特定目录中自动部署。 4. **跨平台**:可以在多种...

    tomcat服务器7和8

    3. **更好的安全性**:增加了安全管理器,提供更精细的权限控制,增强了应用的安全性。 4. **部署与管理**:引入了自动部署和热部署功能,允许开发者在不重启服务器的情况下更新应用。 5. **JMX(Java Management ...

    tomcat服务器

    1. **安装与配置**:Tomcat的安装通常是一个简单的解压过程,然后根据需要配置环境变量,如`CATALINA_HOME`指向Tomcat的安装目录。在`conf/server.xml`文件中可以修改默认端口、连接器配置以及其他服务器设置。 2. ...

    Tomcat 9.0安装包

    2. 配置用户访问:编辑`conf/tomcat-users.xml`,添加用户角色和权限,实现登录控制。 3. 日志配置:修改`conf/logging.properties`来定制日志输出。 4. 配置Context:在`conf/Catalina/localhost/`下创建XML文件,...

Global site tag (gtag.js) - Google Analytics