元素。

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

在 Tomcat 中設(shè)置 JDBCRealm

系統(tǒng) 2077 0

除了默認(rèn)配置的 DataSourceRealm,Tomcat 還支持?JDBCRealm,它通過 JDBC 來訪問記錄在關(guān)系數(shù)據(jù)庫里的認(rèn)證信息。

JDBCRealm 的配置步驟如下:

  1. 在 $TOMCAT_HOME\conf\server.xml 配置 <Reaml/> 元素。
              
                <
              
              
                Realm  
              
              
                className
              
              
                ="org.apache.catalina.realm.JDBCRealm"
              
              
                
    
        driverName
              
              
                ="com.mysql.jdbc.Driver"
              
              
                
    
        connectionURL
              
              
                ="jdbc:mysql://localhost/tomcat"
              
              
                
    
        connectionName
              
              
                ="root"
              
              
                 connectionPassword
              
              
                ="root"
              
              
                
    
        userTable
              
              
                ="users"
              
              
                 userNameCol
              
              
                ="username"
              
              
                 userCredCol
              
              
                ="userpass"
              
              
                
    
        userRoleTable
              
              
                ="roles"
              
              
                 roleNameCol
              
              
                ="userrole"
              
              
                />
              
            

    <Reaml /> 元素屬性說明:

    屬性 說明
    ?className ?Tomcat 的 JDBCRealm 實現(xiàn)類?
    ?driverName ?JDBC 驅(qū)動類
    ?connectionURL ?數(shù)據(jù)庫連接地址
    ?connectionName ?數(shù)據(jù)庫登錄用戶
    ?connectionPassword? ?數(shù)據(jù)庫登錄密碼
    ?userTable ?用戶表的表名
    ?userNameCol ?用戶表中用戶列的列名
    ?userCredCol ?用戶表中密碼列的列名
    ?userRoleTable ?角色表的表名
    ?roleNameCol ?角色表中的角色列

    注:<Realm/> 元素可以放在 <Engine/> 元素中,這時該 Realm 會被所有應(yīng)用共享。 放在 <Host/> 元素中,會被該 Host 下的應(yīng)用程序共享。放在 <Context/> 元素中,則只有對應(yīng)的應(yīng)用程序能被訪問。

  2. 將 JDBC 驅(qū)動 jar 文件放置在?$TOMCAT_HOME\lib 目錄中。
  3. 在數(shù)據(jù)庫中創(chuàng)建用戶表與角色表,表名和命名要與上述的配置一致。
              
                CREATE
              
              
                TABLE
              
              
                 `users` (
    
      `username` 
              
              
                varchar
              
              (
              
                32
              
              ) 
              
                NOT
              
              
                NULL
              
              
                ,
    
      `userpass` 
              
              
                varchar
              
              (
              
                32
              
              ) 
              
                NOT
              
              
                NULL
              
              
                ,
    
      
              
              
                PRIMARY
              
              
                KEY
              
              
                 (`username`)
    
    ) ENGINE
              
              
                =
              
              InnoDB 
              
                DEFAULT
              
               CHARSET
              
                =
              
              
                utf8;
    
    
    
    
              
              
                CREATE
              
              
                TABLE
              
              
                 `roles` (
    
      `username` 
              
              
                varchar
              
              (
              
                32
              
              ) 
              
                NOT
              
              
                NULL
              
              
                ,
    
      `userrole` 
              
              
                varchar
              
              (
              
                32
              
              ) 
              
                NOT
              
              
                NULL
              
              
                ,
    
      
              
              
                PRIMARY
              
              
                KEY
              
              
                 (`username`,`userrole`)
    
    ) ENGINE
              
              
                =
              
              InnoDB 
              
                DEFAULT
              
               CHARSET
              
                =
              
              utf8;
            
  4. 在表中配置用戶與角色信息。
              
                INSERT
              
              
                INTO
              
               `tomcat`.`users` (`username`, `userpass`) 
              
                VALUES
              
               (
              
                '
              
              
                admin
              
              
                '
              
              , 
              
                '
              
              
                admin
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`users` (`username`, `userpass`) 
              
                VALUES
              
               (
              
                '
              
              
                huey
              
              
                '
              
              , 
              
                '
              
              
                huey
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`users` (`username`, `userpass`) 
              
                VALUES
              
               (
              
                '
              
              
                suer
              
              
                '
              
              , 
              
                '
              
              
                suer
              
              
                '
              
              
                );
    
    
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`roles` (`username`, `role`) 
              
                VALUES
              
               (
              
                '
              
              
                admin
              
              
                '
              
              , 
              
                '
              
              
                admin
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`roles` (`username`, `role`) 
              
                VALUES
              
               (
              
                '
              
              
                admin
              
              
                '
              
              , 
              
                '
              
              
                common
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`roles` (`username`, `role`) 
              
                VALUES
              
               (
              
                '
              
              
                huey
              
              
                '
              
              , 
              
                '
              
              
                common
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`roles` (`username`, `role`) 
              
                VALUES
              
               (
              
                '
              
              
                suer
              
              
                '
              
              , 
              
                '
              
              
                common
              
              
                '
              
              
                );
    
    
              
              
                INSERT
              
              
                INTO
              
               `tomcat`.`roles` (`username`, `role`) 
              
                VALUES
              
               (
              
                '
              
              
                suer
              
              
                '
              
              , 
              
                '
              
              
                vip
              
              
                '
              
              );
            
  5. 新建一個 Java Web 工程,編輯 web.xml 文件。
  6. 配置 <security-role/> 元素來定義角色。
              
                <
              
              
                security-role
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              admin
              
                </
              
              
                role-name
              
              
                >
              
              
                </
              
              
                security-role
              
              
                >
              
              
                <
              
              
                security-role
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              common
              
                </
              
              
                role-name
              
              
                >
              
              
                </
              
              
                security-role
              
              
                >
              
              
                <
              
              
                security-role
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              vip
              
                </
              
              
                role-name
              
              
                >
              
              
                </
              
              
                security-role
              
              
                >
              
            
  7. 配置 <security-constraint/> 元素,指定角色可訪問的資源集和可使用的 HTTP 方法。
              
                <
              
              
                security-constraint
              
              
                >
              
              
                <
              
              
                web-resource-collection
              
              
                >
              
              
                <
              
              
                web-resource-name
              
              
                >
              
              Public resources
              
                </
              
              
                web-resource-name
              
              
                >
              
              
                <
              
              
                url-pattern
              
              
                >
              
              /home/*
              
                </
              
              
                url-pattern
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              HEAD
              
                </
              
              
                http-method
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              GET
              
                </
              
              
                http-method
              
              
                >
              
              
                </
              
              
                web-resource-collection
              
              
                >
              
              
                <
              
              
                auth-constraint
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              common
              
                </
              
              
                role-name
              
              
                >
              
              
                </
              
              
                auth-constraint
              
              
                >
              
              
                </
              
              
                security-constraint
              
              
                >
              
              
                <
              
              
                security-constraint
              
              
                >
              
              
                <
              
              
                web-resource-collection
              
              
                >
              
              
                <
              
              
                web-resource-name
              
              
                >
              
              Secret resources
              
                </
              
              
                web-resource-name
              
              
                >
              
              
                <
              
              
                url-pattern
              
              
                >
              
              /blog/*
              
                </
              
              
                url-pattern
              
              
                >
              
              
                <
              
              
                url-pattern
              
              
                >
              
              /photo/*
              
                </
              
              
                url-pattern
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              HEAD
              
                </
              
              
                http-method
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              GET
              
                </
              
              
                http-method
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              POST
              
                </
              
              
                http-method
              
              
                >
              
              
                <
              
              
                http-method
              
              
                >
              
              PUT
              
                </
              
              
                http-method
              
              
                >
              
              
                </
              
              
                web-resource-collection
              
              
                >
              
              
                <
              
              
                auth-constraint
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              admin
              
                </
              
              
                role-name
              
              
                >
              
              
                <
              
              
                role-name
              
              
                >
              
              vip
              
                </
              
              
                role-name
              
              
                >
              
              
                </
              
              
                auth-constraint
              
              
                >
              
              
                </
              
              
                security-constraint
              
              
                >
              
            
  8. 配置 <login-config/> 元素,指定認(rèn)證方式為基本認(rèn)證,并指定安全域。
              
                <
              
              
                login-config
              
              
                >
              
              
                <
              
              
                auth-method
              
              
                >
              
              BASIC
              
                </
              
              
                auth-method
              
              
                >
              
              
                <
              
              
                realm-name
              
              
                >
              
              hueyhome
              
                </
              
              
                realm-name
              
              
                >
              
              
                </
              
              
                login-config
              
              
                >
              
            
  9. 測試。
              
                C:\Users\huey>
                
                  curl -I -u "suer:suer" http://localhost:8080/helloweb/blog/index.html
                
                
                  HTTP/1.1 200 OK
                
                
    
    Server: Apache-Coyote/1.1
    
    Pragma: No-cache
    
    Cache-Control: no-cache
    
    Expires: Thu, 01 Jan 1970 08:00:00 CST
    
    Accept-Ranges: bytes
    
    ETag: W/"261-1431758220107"
    
    Last-Modified: Sat, 16 May 2015 06:37:00 GMT
    
    Content-Type: text/html
    
    Content-Length: 261
    
    Date: Tue, 19 May 2015 11:44:20 GMT
              
            

    ?

在 Tomcat 中設(shè)置 JDBCRealm


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美国产精品第一区 | 午夜小视频网站 | 国产精品一级毛片不收费 | 国产在线精品一区二区三区不卡 | 精品美女 | 成人国产综合 | 亚洲美女视频网 | 一级特黄特黄的大片免费 | 久草免费在线 | 青青热久久久久综合精品 | 日韩一区二区在线免费观看 | 欧美人与鲁交大毛片免费 | 手机看片国产欧美日韩高清 | 亚洲va在线va天堂va四虎 | 99激情网 | 日韩欧美视频免费观看 | 99爱视频免费高清在线观看 | 国产精品久久久久久五月尺 | 国产农村一一级特黄毛片 | 欧美成人免费午夜影视 | 尤物福利 | 看欧美的一级毛片 | 理论片我不卡在线观看 | 国产高清自拍视频 | 国产成人高清亚洲一区91 | 尤物视频在线播放 | 97碰公开在线观看免费视频 | 久久免费视频网站 | 婷婷尹人香蕉久久天堂 | 久插视频| 手机看片日韩高清国产欧美 | 久久综合九色综合97伊人麻豆 | 亚洲欧洲第一页 | 天天射天天操天天干 | 亚洲视频一区二区三区四区 | 337p色噜噜人体大胆欧美 | 四虎国产精品免费久久久 | 国产日韩欧美自拍 | 欧美一级视频免费观看 | 四虎最新紧急入口 | 国产成人a毛片在线 |