大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

標準 Realm 實現

JDBCRealm

JDBCRealm 是 Tomcat Realm 接口的一種實現,它通過 JDBC 驅動程序在關系型數據庫中查找用戶。只要數據庫結構符合下列要求,你可以通過大量的配置來靈活地修改現有的表與列名。

必須有一張用戶表(users table)。它包含著一個由 Realm 所能識別的所有合法用戶所構成的行。

      用戶表必須至少包含兩列(當然,如果現有應用確實需要,則同樣也可以包含更多的列):

      用戶名:當用戶登錄時,能被 Tomcat 識別的用戶名。

密碼:當用戶登錄時,能被 Tomcat 所識別的密碼。該列中的值可能是明文,也可能是摘要式密碼,稍后詳述。

  • 必須有一張用戶角色表(user roles table)。該表包含一個角色行,包含著可能指定給特定用戶的每個合法角色。一個用戶可以沒有角色,也可以有一個或多個角色,這都是合法的。
  • 用戶角色表 至少應包含兩列(如果現有應用確實需要,則也可以包含更多的列):
  • 用戶名。Tomcat 所能識別的用戶名(與用戶表中指定的值相同)。
  • 用戶所對應的合法角色名。

快速入門

為了設置 Tomcat 從而使用 JDBCRealm,需要執行以下步驟:

  1. 在數據庫中創建符合上述規范的表與列。
  2. 配置一個 Tomcat 使用的數據庫用戶名與密碼,并且至少有只讀權限(Tomcat 永遠都不會去修改那些表中的數據)。
  3. 將用到的 JDBC 驅動程序復制到 $CATALINA_HOME/lib 目錄中。注意只能識別 JAR 文件!
  4.  $CATALINA_BASE/conf/server.xml 目錄中設置一個  元素。這一點下文將會詳細敘述。
  5. 如果 Tomcat 處于運行狀態,則重啟它。

Realm 元素屬性

如上所述,為了配置 JDBCRealm,需要創建一個 Realm 元素,并把它放在 $CATALINA_BASE/conf/server.xml 文件中。JDBCRealm 的屬性都定義在 Realm 配置文檔中。

范例

下面這個 SQL 腳本范例創建了我們所需的表(根據你所用的數據庫,可以相應修改其中的語法)。

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)
);

Realm 元素包含在默認的 $CATALINA_BASE/conf/server.xml 文件中(被注釋掉了)。在下面的范例中,有一個名為 authority 的數據庫,它包含上述創建的表,通過用戶名“dbuser”和密碼“dbpass”進行訪問。

<Realm className="org.apache.catalina.realm.DataSourceRealm"
   dataSourceName="jdbc/authority"
   userTable="users" userNameCol="user_name" userCredCol="user_pass"
   userRoleTable="user_roles" roleNameCol="role_name"/>
<Realm className="org.apache.catalina.realm.DataSourceRealm"
   dataSourceName="jdbc/authority"
   userTable="users" userNameCol="user_name" userCredCol="user_pass"
   userRoleTable="user_roles" roleNameCol="role_name"/>

特別注意事項

JDBCRealm 必須遵循以下規則:

  • 當用戶首次訪問一個受保護資源時,Tomcat 會調用這一 Realm 的 authenticate() 方法,從而使任何對數據庫的即時修改(新用戶、密碼或角色改變,等等)都能立即生效。
  • 一旦用戶認證成功,在登錄后,該用戶(及其相應角色)就將緩存在 Tomcat 中。(對于以表單形式的認證,這意味著直到會話超時或者無效才會過期;對于基本形式的驗證,意味著直到用戶關閉瀏覽器才會過期。)在會話序列化期間不會保存或重置緩存的用戶。對已認證用戶的數據庫信息進行的任何改動都不會生效,直到該用戶下次登錄。
  • 應用負責管理users(用戶表)和user roles(用戶角色表)中的信息。Tomcat 沒有提供任何內置功能來維護這兩種表。
全部教程
主站蜘蛛池模板: 97视频免费人人观看人人 | 中文字幕一区在线 | 国产精品毛片一区 | 蜜桃久久久久久久久久久 | 中文国产成人精品久久一区 | 美女操操| 色综合久久综合欧美综合网 | 四色成人| 伊人涩| 国产成人免费高清视频 | 91精品国产91久久久久 | 男人懂的网站 | 日韩欧美国产高清 | 模特视频一二三区 | 国产精品国色综合久久 | 国产精品伊人 | 97视频免费上传播放 | 九九九九九热 | 奇米色第四色 | 欧美激情精品久久久久久久九九九 | 日韩高清在线日韩大片观看网址 | 黄色毛片毛茸茸 | 国产欧美一区二区三区在线 | 看大片全色黄大色黄 | 伊人色综合久久 | 亚洲社区在线观看 | 免费一级欧美大片在线观看 | 不卡网| 狠狠狠操 | 国产精品成人在线 | 欧美一区二区在线视频 | 天天干一干 | 国产一区在线观看视频 | 99精品视频在线视频免费观看 | 国产福利视频一区二区三区四区 | 欧美日韩亚洲国产无线码 | 日韩成人精品 | 久久免费久久 | 欧美久久综合九色综合 | 99热在线精品免费播放6 | 日韩黄色大片 |