加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

configure JDBCRealm JAAS for mysql and tomcat 7 with form ba

发布时间:2020-12-14 06:18:41 所属栏目:Java 来源:网络整理
导读:Hello all, In this tutorial we are going to configure JDBCRealm JAAS for tomcat 7 and mysql database server. Let us first understand what exactly these terminologies mean. JAAS ?: Java Authentication and Authorization Service is used for u

This will create the database and add data into it.

2. Configure tomcat 7 server.xml for JDBCRealm

Add a realm tag in?mysql-connector-java.jar?in?

<div id="crayon-53b35aa8626a1460071620" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouSEOver">
<div class="crayon-plain-wrap">?


<div class="crayon-main">
<table class="crayon-table">
<tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626a1460071620-1">1
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626a1460071620-2">2
<div class="crayon-num" data-line="crayon-53b35aa8626a1460071620-3">3
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626a1460071620-4">4
<div class="crayon-num" data-line="crayon-53b35aa8626a1460071620-5">5
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626a1460071620-6">6
<div class="crayon-num" data-line="crayon-53b35aa8626a1460071620-7">7
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626a1460071620-8">8
<div class="crayon-num" data-line="crayon-53b35aa8626a1460071620-9">9
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626a1460071620-10">10

3. Create a dynamic web project in eclipse.

Click?File -> New -> Dynamic Web Project. Name it?Tomcat7FormBasedJAAS. Also place?mysql-connector-java.jar?in?

4. Configure security for web application

Paste following content in?web.xml

<div id="crayon-53b35aa8626b0523242846" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouSEOver">
<div class="crayon-plain-wrap">?
<div class="crayon-main">
<table class="crayon-table">

<tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-1">1
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-2">2
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-3">3
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-4">4
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-5">5
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-6">6
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-7">7
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-8">8
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-9">9
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-10">10
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-11">11
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-12">12
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-13">13
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-14">14
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-15">15
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-16">16
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-17">17
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-18">18
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-19">19
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-20">20
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-21">21
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-22">22
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-23">23
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-24">24
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-25">25
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b0523242846-26">26
<div class="crayon-num" data-line="crayon-53b35aa8626b0523242846-27">27

Create?protected.jsp?in?Webcontent/protected?folder and paste following code in it.

<div id="crayon-53b35aa8626b8279658148" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap">?
<div class="crayon-main">
<table class="crayon-table">

<tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-1">1
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-2">2
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-3">3
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-4">4
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-5">5
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-6">6
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-7">7
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-8">8
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-9">9
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-10">10
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-11">11
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-12">12
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-13">13
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626b8279658148-14">14
<div class="crayon-num" data-line="crayon-53b35aa8626b8279658148-15">15

Create login.jsp as follows

<div id="crayon-53b35aa8626c0293062630" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap">?
<div class="crayon-main">
<table class="crayon-table">

<tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-1">1
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-2">2
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-3">3
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-4">4
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-5">5
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-6">6
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-7">7
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-8">8
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-9">9
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-10">10
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-11">11
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-12">12
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-13">13
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-14">14
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-15">15
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-16">16
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-17">17
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-18">18
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-19">19
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-20">20
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-21">21
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-22">22
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-23">23
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-24">24
<div class="crayon-num" data-line="crayon-53b35aa8626c0293062630-25">25
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c0293062630-26">26

Note that the names for username,password and action must be?j_username,j_password and j_security_check.?It means we are using JAAS

Create a page if user authentication fails. Name it login_failure.jsp

<div id="crayon-53b35aa8626c8554147249" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap">?


<div class="crayon-main">
<table class="crayon-table"><tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-1">1
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-2">2
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-3">3
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-4">4
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-5">5
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-6">6
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-7">7
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-8">8
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-9">9
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-10">10
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-11">11
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-12">12
<div class="crayon-num" data-line="crayon-53b35aa8626c8554147249-13">13
<div class="crayon-num crayon-striped-num" data-line="crayon-53b35aa8626c8554147249-14">14

5. Run and test the application

Start tomcat 7 server and hit

<div id="crayon-53b35aa8626d0873412927" class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover">
<div class="crayon-plain-wrap">?
<div class="crayon-main">
<table class="crayon-table">

<tr class="crayon-row">
<td class="crayon-nums " data-settings="show">
<div class="crayon-nums-content">
<div class="crayon-num" data-line="crayon-53b35aa8626d0873412927-1">1

Now that we are trying to access a protected file based on url pattern,the container will take us to the login page as per our configuration in?web.xml

The following page should be displayed when you hit above url.

Now enter wrong credentials. say I enter username as prasadkharkar and password as 1234.

Now container will check whether these match the credentials specified in the database. If they don’t match it will redirect you to error page as follows

When you enter correct credentials..i.e. username as “prasadkharkar” and password as “password”. Then you will be successfully redirected to the protected resource that you are trying to access because now you are a authenticated user.

reference from:

http://www.thejavageek.com/2013/07/07/configure-jdbcrealm-jaas-for-mysql-and-tomcat-7-with-form-based-authentication/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

Hello all,

In this tutorial we are going to configure JDBCRealm JAAS for tomcat 7 and mysql database server.

Let us first understand what exactly these terminologies mean.

JAAS?: Java Authentication and Authorization Service is used for user authentication. This provides separation of concerns for user authentication so that they are managed independently

JDBCRealm: We can say this is used to look for users in provided relational database. All the user credentials will be retrieved by tomcat using JDBCRealm.

Form based authentication: This is a mechanism by which security is provided for web resources. If the user is authenticated,then resource will be served,otherwise it will lead to a login page where user can fill in login credentials and after successful login,the resource will be served.

We will follow these steps for configuration

1. Prepare database for user credentials and roles

2. Configure tomcat 7 server for JDBCRealm with our database

3. Create a web application in eclipse

4. Configure security for the resources which we want to protect in our web application

5. Run example

1. Prepare database:

Copy paste the following sql script and run from mysql command prompt

    推荐文章
      热点阅读