`
xwood
  • 浏览: 103385 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用Tomcat实现页面访问控制

阅读更多
使用Tomcat实现页面访问控制主要有三种方式:
引用

  • 使用JDBCRealm利用数据库控制
  • 使用JNDIRealm利用远程访问控制
  • 使用MemoryRealm利用tomcat-users.xml文件控制


一、使用JDBCRealm利用数据库控制
       1.The meaning of the attributes is as follow:
attributeMeaning
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相同
分享到:
评论

相关推荐

    tomcat9用户访问配置问题_403Access Denied 无法访问server、Manager、Host Manager

    ### Tomcat 9 用户访问配置问题详解 #### 一、问题背景及现象 ...综上所述,通过调整Tomcat用户的权限配置以及放宽IP访问限制,可以有效解决“403 Access Denied”问题,实现对后台管理界面的正常访问。

    简单的Tomcat源码实现

    8. **安全管理**:Tomcat提供角色基础的安全管理,包括 Realm(认证域)、LoginConfig(登录配置)和AccessController(访问控制)。 9. **热部署与监控**:Tomcat支持热部署,允许在不重启服务器的情况下更新Web...

    nginx负载均衡 nginx+tomcat tomcat实现负责均衡

    ### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...

    tomcat7,tomcat8,tomcat9

    Tomcat7支持通过Context元素的`&lt;Valve&gt;`标签动态添加阀门(Valves),这些阀门可以用于日志记录、访问控制等。此外,它还加强了对HTTPS的支持,提供了更灵活的错误页面处理,并且支持部署目录结构的变化,使得应用...

    tomcat5.5通用配置(管理页面已经配置好)

    Tomcat 5.5 是一个广泛使用的开源Java Servlet容器,它实现了Java EE Web应用程序的Servlet和JSP规范。在这个版本中,Tomcat以其轻量级、高效和稳定性的特点赢得了开发者们的喜爱。然而,对于初学者或忙碌的开发者来...

    Tomcat Tomcat Tomcat Tomcat

    7. **安全管理**:Tomcat支持基本的安全功能,如角色为基础的访问控制(RBAC)、SSL/TLS加密通信等,以保护Web应用免受未经授权的访问。 8. **部署与管理**:Tomcat可以通过管理工具(如Manager App)进行Web应用的...

    Java +Tomcat + SpringMVC实现页面访问示例解析

    首先,我们来梳理一下Java、Tomcat和SpringMVC在实现页面访问时各自扮演的角色和工作流程。Java是一种广泛使用的编程语言,具备跨平台的特性,常被用来开发企业级的Web应用。Apache Tomcat是一个开源的Servlet容器,...

    tomcat 7 和 tomcat 8

    5. 新的安全特性:增加了Secure Sockets Layer (SSL)和Transport Layer Security (TLS)的管理,以及角色基础的访问控制。 6. 多线程模型优化:改进了线程池的管理和异常处理,提升了整体稳定性。 Tomcat 8: 1. ...

    基于Java实现的角色访问控制系统 + 数据库文件 + 前端页面

    Java语言开发的统一角色访问控制系统,基于Spring Security 3实现的权限控制系统 程序框架版本说明:Spring MVC 3.0.6 + Spring Security 3.1.3 + Hibernate 3.6.10 运行演示例子: 例子使用的是MySQL数据库,也...

    ffmpeg+tomcat+html 实现web端流媒体播放

    5. 在`Tomcat`中部署这个HTML页面,使用户可以通过浏览器访问并播放流媒体。 通过这个流程,你可以创建一个基本的流媒体服务,使得用户可以在web端流畅地观看视频内容。但要注意,实际应用可能还需要考虑其他因素,...

    Tomcat WebSocket

    综上所述,要使用Tomcat实现WebSocket,你需要理解WebSocket的基本概念,配置Tomcat以支持WebSocket,编写WebSocket服务器端点代码,并在客户端使用适当的API与服务器进行通信。同时,还需要关注性能和安全方面的...

    tomcat6的源码

    `Realm`接口及其实现类(如`MemoryRealm`, `JDBCRealm`)处理用户身份验证,`AccessController`处理访问控制。 10. **错误处理**:当发生错误时,Tomcat会生成定制的错误页面。源码中,`ErrorReportValve`类处理...

    tomcat6.0.35_tomcat_

    1. **用户认证**:通过`conf/tomcat-users.xml`配置用户和角色,实现基本的访问控制。 2. **SSL配置**:在`server.xml`中配置`&lt;Connector&gt;`元素,启用HTTPS,提供安全的数据传输。 3. **权限控制**:使用`...

    如何安装监控tomcat服务_防止tomcat死掉系统无法服务的问题

    - 在控制面板的“服务”管理工具中,找到Tomcat服务,将其启动类型设置为“自动”,确保服务随系统启动而启动。 6. **创建监控脚本**: - 创建一个VBS脚本,利用VBScript语言定时访问`monitor.jsp`,检查HTTP状态...

    tomcat8.5.11 资源下载

    5. **安全性**:Tomcat提供了多种安全机制,包括SSL/TLS支持、角色为基础的安全访问控制以及各种认证方法,如FORM、BASIC和DIGEST等。 6. **多线程模型**:Tomcat使用多线程模型处理并发请求,确保了高效的性能。 ...

    apache-tomcat-8.5.23.tar.gz 【Tomcat服务器,Tomcat8.5 linux版】

    4. **访问Tomcat**:通过浏览器输入`http://your_server_ip:8080`,如果一切正常,你应该能看到Tomcat的欢迎页面。 5. **部署应用**:将你的Web应用程序(WAR文件或解压的目录)复制到`webapps`目录下,Tomcat会...

    Apache+Tomcat+JK 实现集群负载均衡文档

    Apache+Tomcat+JK 实现集群负载均衡是一种常见的Web服务器和应用服务器的部署方式,它能够提高系统的可用性和响应速度,实现服务的高并发处理。本文将详细介绍如何配置这一环境。 首先,我们需要准备以下软件: 1. ...

    apache-tomcat-7.0.52

    - 通过访问`http://localhost:8080`访问默认的Tomcat管理页面。 - 使用conf/server.xml配置服务器端口、连接器、Context等参数。 - 修改conf/web.xml来调整全局的Web应用设置。 - conf/logging.properties用于配置...

    tomcat-linux.rar

    Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web应用程序规范,包括Servlet和JSP。在Linux环境下运行Tomcat,可以为开发者提供一个稳定且高效的平台来部署Java Web应用。 描述中提到,这个...

    tomcat 8.5.100

    - 默认情况下,管理应用是不安全的,需要配置访问控制,避免未授权访问。 - SSL配置应根据生产环境需求进行,以保护传输数据的安全性。 6. **性能优化**: - 调整`conf/server.xml`中的线程池参数,如最大线程数...

Global site tag (gtag.js) - Google Analytics