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

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

Tomcat Windows 認(rèn)證

Tomcat Windows 認(rèn)證概述

集成 Windows 驗(yàn)證(Integrated Windows authentication)往往用于局域網(wǎng)環(huán)境中,因?yàn)樾枰褂梅?wù)器執(zhí)行驗(yàn)證,被驗(yàn)證的用戶也必須處于同一域內(nèi)。為了能夠自動驗(yàn)證用戶,用戶所用的客戶端機(jī)器也必須處于同一域內(nèi)。

可以利用以下幾種方案來實(shí)現(xiàn) Tomcat 下的集成 Windows 驗(yàn)證:

  • 內(nèi)建 Tomcat 支持。
  • 使用第三方庫,比如 Waffle。
  • 使用支持 Windows 驗(yàn)證的反向代理來執(zhí)行驗(yàn)證步驟(IIS 或 httpd)。

下面將分別詳細(xì)講述這些方案。

內(nèi)建 Tomcat 支持

需要仔細(xì)配置 Kerberos 身份驗(yàn)證服務(wù)(集成 Windows 驗(yàn)證的基礎(chǔ))。如果嚴(yán)格按照下列步驟去做,配置就會生效。這些配置的靈活度很小,所以必須嚴(yán)格按照下列方式去做。從測試到現(xiàn)在,已知的規(guī)則是:

  • 用于訪問 Tomcat 服務(wù)器的主機(jī)名必須匹配 服務(wù)主體名稱(Service Principal Name,SPN)中的主機(jī)名,否則驗(yàn)證就會失敗。驗(yàn)證失敗時,校驗(yàn)和錯誤會報(bào)告給調(diào)試日志。
  • 客戶端必須明確服務(wù)器位于本地可信局域網(wǎng)。
  • SPN 必須是 HTTP/<主機(jī)名> 的形式,而且必須在所有用到它的位置處保持統(tǒng)一。
  • 端口號不能放在 SPN 中。
  • 不能將多個 SPN 映射給一個域用戶。
  • Tomcat 必須以 SPN 關(guān)聯(lián)的域賬戶或域管理員的身份運(yùn)行,但不建議采用域管理員的身份運(yùn)行 Tomcat。
  • 在 ktpass 命令中,域名(DEV.LOCAL)不區(qū)分大小寫,在jaas.conf 中也是這樣。
  • 使用 ktpass 命令時,不能指定域。

在配置 Windows 驗(yàn)證的 Tomcat 內(nèi)建支持時,共涉及到4個組件:域控制器、托管 Tomcat 的服務(wù)器、需要使用 Windows 驗(yàn)證的 Web 應(yīng)用,以及客戶端機(jī)器。下面將講解每個組件所需的配置。

下面配置范例中用到的 3 個機(jī)器名稱為:win-dc01.dev.local (域控制器)、win-tc01.dev.local(Tomcat 實(shí)例)、win-pc01.dev.local (客戶端)。它們都是DEV.LOCAL 域成員。

注意:為了在下面的步驟中使用密碼,不得不放寬了域密碼規(guī)則,對于生產(chǎn)環(huán)境,可不建議這么做。

1. 域控制器

下列步驟假設(shè)前提是:經(jīng)過配置,服務(wù)器可以做為域控制器來使用。關(guān)于如何配置 Windows 服務(wù)器配置成域控制器,不在本章討論范圍之內(nèi)。
配置域控制器,使 Tomcat 支持 Windows 驗(yàn)證的步驟為:

  • 創(chuàng)建一個域用戶,它將映射到 Tomcat 服務(wù)器所用的服務(wù)名稱上。在本文檔中,用戶為 tc01,密碼為 tc01pass。
  • 將 SPN 映射到用戶賬戶上。SPN 的形式為:/:/。本文檔所用的 SPN 為 HTTP/win-tc01.dev.local。要想將用戶映射到 SPN 上,運(yùn)行以下命令:
  • setspn -A HTTP/win-tc01.dev.local tc01
  • 生成 keytab 文件,Tomcat 服務(wù)器會用該文件將自身注冊到域控制器上。該文件包含用于服務(wù)提供者賬戶的 Tomcat 私鑰,所以也應(yīng)該受到保護(hù)。運(yùn)行以下命令生成該文件(全部命令都應(yīng)寫在同一行中):
  • ktpass /out c:\tomcat.keytab /mapuser [email protected] /princ HTTP/[email protected] /pass tc01pass /kvno 0
  • 創(chuàng)建客戶端所用的域用戶。本文檔中,域用戶為 test,密碼為 testpass。

以上步驟測試環(huán)境為:運(yùn)行 Windows Server 2008 R2 64 位標(biāo)準(zhǔn)版的域控制器。對于域功能級別和林(forest)功能級別,使用 Windows Server 2003 的功能級別。

2. Tomcat 實(shí)例(Windows 服務(wù)器)

下列步驟假定前提為:已經(jīng)安裝并配置好了 Tomcat 和 Java 6 JDK/JRE,并以 [email protected] 用戶來運(yùn)行 Tomcat。配置用于 Windows 驗(yàn)證的 Tomcat 實(shí)例的步驟如下:

  • 將域控制器所創(chuàng)建的 tomcat.keytab 文件復(fù)制到 $CATALINA_BASE/conf/tomcat.keytab。

創(chuàng)建 kerberos 配置文件 $CATALINA_BASE/conf/krb5.ini。本文檔使用的文件包含以下內(nèi)容

[libdefaults]
    default_realm = DEV.LOCAL
    default_keytab_name = FILE:c:\apache-tomcat-8.0.x\conf\tomcat.keytab
    default_tkt_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts- hmac-sha1-96
    default_tgs_enctypes = rc4-hmac,aes256-cts-hmac-sha1-96,aes128-cts- hmac-sha1-96
    forwardable=true

    [realms]
    DEV.LOCAL = {
         kdc = win-dc01.dev.local:88
    }

    [domain_realm]
    dev.local= DEV.LOCAL
    .dev.local= DEV.LOCAL
該文件的位置可以通過 `java.security.krb5.conf` 系統(tǒng)屬性來修改。
  • 創(chuàng)建 JAAS 邏輯配置文件 $CATALINA_BASE/conf/jaas.conf。本文檔使用的文件包含以下內(nèi)容:
 com.sun.security.jgss.krb5.initiate {
    com.sun.security.auth.module.Krb5LoginModule required
    doNotPrompt=true
    principal="HTTP/[email protected]"
    useKeyTab=true
    keyTab="c:/apache-tomcat-8.0.x/conf/tomcat.keytab"
    storeKey=true;
};

    com.sun.security.jgss.krb5.accept {
        com.sun.security.auth.module.Krb5LoginModule required
        doNotPrompt=true
        principal="HTTP/[email protected]"
     useKeyTab=true
        keyTab="c:/apache-tomcat-8.0.x/conf/tomcat.keytab"
     storeKey=true;
    };

本文件位置可以通過 java.security.auth.login.config 系統(tǒng)屬性來修改。所用的 LoginModule 是 JVM 所專有的,從而能保證所指定的 LoginModule 匹配所用的 JVM。登錄配置名稱必須與驗(yàn)證 valve 所用值相匹配。

SPNEGO 驗(yàn)證器適用于任何 Realm,但如果和 JNDI Realm 一起使用的話,JNDI Realm 默認(rèn)將使用用戶的委托憑證(delegated credentials)連接 Active 目錄。

上述步驟測試環(huán)境為:Tomcat 服務(wù)器運(yùn)行于 Windows Server 2008 R2 64 位標(biāo)準(zhǔn)版上,帶有 Oracle 1.6.0_24 64 位 JDK。

3. Tomcat 實(shí)例(Linux 服務(wù)器)

測試環(huán)境如下:

  • Java 1.7.0, update 45, 64-bit
  • Ubuntu Server 12.04.3 LTS 64-bit
  • Tomcat 8.0.x (r1546570)

雖然建議使用最新的穩(wěn)定版本,但其實(shí)所有 Tomcat 8 的版本都能使用。

配置與 Windows 基本相同,但存在以下一些差別:

  • Linux 服務(wù)器不必位于 Windows 域。
  • 應(yīng)該更新 krb5.ini 和 jass.conf 中的 keytab 文件路徑,以便適應(yīng)使用 Linux 文件路徑風(fēng)格(比如:/usr/local/tomcat/...)的 Linux 服務(wù)器。

4. Web 應(yīng)用

配置 Web 應(yīng)用,以便使用 web.xml 中的 Tomcat 專有驗(yàn)證方法 SPNEGO(而不是 BASIC 等)。和其他的驗(yàn)證器一樣,通過顯式地配置驗(yàn)證 valve并且在 Valve 中設(shè)置屬性來自定義行為。

5. 客戶端

配置客戶端,以便使用 Kerberos 認(rèn)證。對于 IE 瀏覽器來說,這就需要 Tomcat 實(shí)例位于“本地局域網(wǎng)”安全域中,并且需要在“工具 > Internet 選項(xiàng) > 高級”中啟用集成 Windows 認(rèn)證。注意:客戶端和 Tomcat 實(shí)例不能使用同一臺機(jī)器,因?yàn)?IE 會使用未經(jīng)證實(shí)的 NTLM 協(xié)議。

6. 參考資料

正確配置 Kerberos 驗(yàn)證是有一定技巧性的。下列參考資料有一定幫助。一般來說,Tomcat 用戶郵件列表中的建議也是可取的。

  • IIS 與 Kerberos
  • SourceForge 的 SPNEGO 項(xiàng)目
  • Oracle Java GSS-API 教程(Java 7)
  • Oracle Java GSS-API 教程 - 疑難解答(Java 7)
  • 用于 Windows 驗(yàn)證的Geronimo 配置
  • Kerberos 交換中的加密選擇
  • 受支持的 Kerberos Cipher 套件

第三方庫

1. Waffle

關(guān)于該解決方案的完整詳情,可瀏覽 Waffle 網(wǎng)站。其關(guān)鍵特性為:

  • Drop-in
  • 配置簡單(無需 JAAS 或 keytab 配置)
  • 使用原生庫

2. Spring Security - Kerberos 擴(kuò)展

關(guān)于該解決方案的完整詳情,可瀏覽 Kerberos 擴(kuò)展網(wǎng)站。其關(guān)鍵特性為:

  • xx
  • 需要生成 Kerberos keytab 文件
  • 純粹 Java 解決方案

3. SourceForge 的 SPNEGO 項(xiàng)目

關(guān)于該解決方案的完整詳情,可瀏覽 該項(xiàng)目網(wǎng)站。其關(guān)鍵特性為:

  • 使用 Kerberos。
  • 純 Java 解決方案。

4. Jespa

關(guān)于該解決方案的完整詳情,可瀏覽 該項(xiàng)目網(wǎng)站。其關(guān)鍵特性為:

  • 純 Java 解決方案
  • 高級 Active 目錄集成

反向代理

1. Microsoft IIS

通過配置 IIS 提供 Windows 驗(yàn)證的步驟如下:

  • 將 IIS 配置成 Tomcat 的反向代理(參看 IIS Web 服務(wù)器文檔)。
  • 配置 IIS 使用 Windows 驗(yàn)證。
  • 將 AJP 連接器上的 tomcatAuthentication 屬性設(shè)為 false,從而配置 Tomcat 使用來自 IIS 的驗(yàn)證用戶信息。另一種方法是,將 tomcatAuthorization 設(shè)為 true,從而在Tomcat 執(zhí)行授權(quán)時,允許 IIS 進(jìn)行驗(yàn)證。

2. Apache httpd

Apache httpd 默認(rèn)并不支持 Windows 驗(yàn)證,但可以使用很多第三方模塊來實(shí)現(xiàn):

  • 針對 Windows 平臺的 mod_auth_sspi
  • 針對非 Windows 平臺的 mod_auth_ntlm_winbind。目前已知適用于 32 位平臺上的 httpd 2.0.x。有些用戶已經(jīng)報(bào)告了 httpd 2.2.x 構(gòu)建與 64 位Linux 構(gòu)建所存在的穩(wěn)定性問題。

采用以下步驟配置 httpd,以便提供 Windows 驗(yàn)證:

  • 將 httpd 配置成 Tomcat 的反向代理(參看 Apache httpd Web 服務(wù)器文檔)。
  • 配置 httpd 使用 Windows 驗(yàn)證。
  • 將 AJP 連接器上的 tomcatAuthentication 屬性設(shè)為 false,從而配置 Tomcat 使用來自 httpd 的驗(yàn)證用戶信息。
全部教程
主站蜘蛛池模板: 亚洲第二页 | 国产欧美一区二区三区在线 | 国产精品成人一区二区不卡 | 国产成人综合在线 | 精品综合久久久久久97超人该 | 日韩三级不卡 | 成年女人永久免费观看片 | 热久久精品免费视频 | 波多野结衣一区二区三区四区 | 97精品久久天干天天蜜 | 久久久不卡 | 午夜成人免费影院 | 久久久久国产精品美女毛片 | 99视频在线国产 | 久久成人在线视频 | 亚洲aa在线 | 日本在线不卡免 | 久久久久久国产精品免费免费 | 亚洲一区精品中文字幕 | sihu永久在线播放地址 | 青草资源站 | 日本午夜大片a在线观看 | 天天操天天干天天爱 | 久久99热久久精品动漫 | 欧美在线观看视频 | 国产午夜精品一区二区三区嫩草 | 久久成人在线观看 | 曰本性l交视频 | 亚洲瑟瑟| 狠狠色噜噜狠狠狠狠黑人 | 青青久久国产 | 久久久亚洲精品视频 | 日韩在线视频网站 | 99视频在线免费看 | 亚洲久操| 国产一区二区高清在线 | 国产精品一区在线麻豆 | 国产精品原创永久在线观看 | 国产香蕉国产精品偷在线观看 | 中国美女一级a毛片录像在线 | 日本高清免费不卡视频 |