大战熟女丰满人妻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 沒有提供任何內置功能來維護這兩種表。
全部教程
主站蜘蛛池模板: 国产亚洲福利精品一区二区 | 精产国品一二二区视 | 日本狠狠干 | 91爱爱视频 | 一级毛片毛片毛片毛毛片 | 欧美曰韩一区二区三区 | 99久久精品免费看国产四区 | 老扒夜夜春宵粗大好爽aa毛片 | 奇米影视奇米四色888av | 免费网站看v片在线成人国产系列 | 久久这里只有精品9 | 国产一级一级一级成人毛片 | 五月天丁香婷婷综合久久 | 激情网站视频 | 欧美精品专区第1页 | 四虎网站最新 | 亚洲精品黄色 | 久草视频播放 | 99热这里有免费国内精品 | 中文字幕亚洲综合久久2 | 亚洲精品国产自在久久出水 | 综合久久久久综合体桃花网 | 国内自拍 在线播放 网红 | 成人毛片免费观看视频 | 欧美成人免费tv在线播放 | 美女视频黄的全i免费 | 色婷婷色婷婷 | 久久香蕉综合色一综合色88 | 久久精品99成人中文字幕880 | 午夜看一级特黄a大片 | 日本特一级毛片免费视频 | 日韩视频大全 | 色久网站| 国产成人免费观看在线视频 | 成人欧美一区在线视频在线观看 | 中文字幕在线一区 | 国产或人精品日本亚洲77美色 | 天天干天天操天天做 | 一区二区国产精品 | 精品久久久久久国产91 | 97理论片 |