Tomcat使用JDBC Realm配置Basic认证

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

1. 下载MySQL JDBC驱动(mysql-connector-java-x.x.x-bin.jar)放到TOMCAT_HOME/lib目录下。


2. 配置TOMCAT_HOME/server.xml,添加JDBCRealm,注释掉原来的LockOutRealm。

1
2
3
4
5
6
7
8
9
< Realm  className = "org.apache.catalina.realm.JDBCRealm"
       driverName = "org.gjt.mm.mysql.Driver"
    connectionURL = "jdbc:mysql://127.0.0.1:3306/authority?user=root&amp;password=123456"
        userTable = "users"  userNameCol = "user_name"  userCredCol = "user_pass"
    userRoleTable = "roles"  roleNameCol = "role_name" />
<!-- <Realm className="org.apache.catalina.realm.LockOutRealm">
         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                resourceName="UserDatabase"/>
       </Realm>-->


3. 连接数据库,创建BAISC访问用户表和用户角色表,并插入数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE `users` (
   `user_id` int(11) NOT NULL AUTO_INCREMENT,
   `user_name` varchar(50) NOT NULL,
   `user_pass` varchar(50) NOT NULL,
   `user_mark` varchar(255) DEFAULT '',
   PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `roles` (
   `role_id` int(11) NOT NULL AUTO_INCREMENT,
   `role_name` varchar(50) NOT NULL,
   `user_name` varchar(50) NOT NULL,
   PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO 'authority'.'users'('user_id','user_name','user_pass','user_mark') VALUES (1, 'admin', 'password', '');
INSERT INTO 'authority'.'users'('user_id','user_name','user_pass','user_mark') VALUES (2, 'guest', 'password', '');
INSERT INTO 'authority'.'roles'('role_id','role_name','user_name') VALUES (1,'admin','admin');
INSERT INTO 'authority'.'roles'('role_id','role_name','user_name') VALUES (2,'guest','guest');


4. 在WEB Project的WEB-INF/web.xml的web-app节点下增加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   < security-constraint >
         < web-resource-collection >
             < web-resource-name >Web Project Name</ web-resource-name >
             < url-pattern >/*</ url-pattern >
         </ web-resource-collection >
         < auth-constraint >
             < role-name >admin</ role-name >
         </ auth-constraint >
     </ security-constraint >
     < login-config >
         < auth-method >BASIC</ auth-method >
         < realm-name >favourite basic realm</ realm-name >
     </ login-config >
     < security-role >
         < role-name >admin</ role-name >
     </ security-role >


5. 启动Tomcat,输入应用的访问地址,就会弹出用户登录的输入框,输入正确的用户名和密码后就可以访问受保护的资源。


需要注意的是:只有首次访问受保护的资源时才需要进行登录,这是因为用户登录后相关的信息都放到Tomcat服务器的缓存中,除非用户关闭浏览器或清除缓存,否则认证信息一直存在,用户也就不需要再次进行登录。





本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1877588,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
20 0
|
2天前
|
IDE Java 应用服务中间件
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
JDK1.6.0+Tomcat6.0的安装配置(配置JAVA环境)
11 1
|
2天前
|
网络协议 Java 应用服务中间件
HTTP协议与Tomcat在IJ中配置
本文是对自己学习JavaWeb学习的笔记的总结,添加了一些自己的东西,然后进行一次复盘,并加深一下学习的理解和印象.其中内容主要包括对http协议的详细介绍,java常见服务器的初步介绍,以及IJ旧版和新版的tomcat服务器的配置图解教程
|
16天前
|
网络协议 Java 应用服务中间件
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
11 0
|
17天前
|
应用服务中间件
【SSM】如何在IDEA配置tomcat启动项目
【SSM】如何在IDEA配置tomcat启动项目
18 1
|
17天前
|
IDE JavaScript Java
如何配置tomcat
【4月更文挑战第15天】如何配置tomcat
18 2
|
17天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
17天前
|
Java 应用服务中间件 Apache
Tomcat7 的安装和配置
Tomcat7 的安装和配置
18 0
|
22天前
|
Java 应用服务中间件 Shell
Tomcat 安装配置教程及成功后,启动失败报错解决方案
Tomcat 安装配置教程及成功后,启动失败报错解决方案
32 0
|
24天前
|
运维 应用服务中间件 Linux
Tomcat详解(九)——Tomcat虚拟主机配置实战
Tomcat详解(九)——Tomcat虚拟主机配置实战
24 1