Zope 具有很強大的擴展性,允許開發人員自行開發適用的 AuthSource (使用者認證資料來源)。

exUserFolder (eXtensible User Folder, XUF) 是一個囊括了 LDAP、RADIUS、SMB 以及其它數個 AuthSource 的 Zope product,我們可以用 XUF 裡的 smbAuthSource 來讓任何一個 Zope instance 裡的任何一個 folder 擁有以 NT Domain (非 Active Directory) 進行認證的能力。

exUserFolder 的安裝

System Message: WARNING/2 (<string>, line 2)

Title underline too short.

exUserFolder 的安裝
==================

首先要取得 XUF ,目前最新的版本是 0.50。照一般的程序安裝 (將包裝的 tarball 解壓縮到 instance 的 Products 目錄內,檢查檔案權限) 後,重新啟動 zope instance 即可。

注意 :不要把 XUF 放在 instance 的根目錄 (site_root) 裡面取代原本的 user folder,否則若 XUF AuthSource 失效,很有可能會讓你的整個 zope instance 無法存取。一旦發生這種事態,就我目前所得的資料顯示,可能只好放棄 zodb 裡的所有資料。如果你希望使用者可以從網站的根目錄裡存取 XUF,請配合 virtual hosting 的使用。

要使用 XUF 的 smbAuthSource,請在 site_root 以外的目錄內,從 ZMI 裡選擇新增 ex User Folder ,在一開始的 Choose Sources 頁面裡作以下的選擇:

  • Authentication Source : SMB Authentication Source

  • Property Source : ZODB BTree Property Source

    注意,如果你在這一項裡選擇了 Simplistic ZODB Property Source,則之後在修改使用者的時候會出現錯誤。照著該錯誤的說明去追縱,我們會發現問題是出現在 PropSources/zodbPropSource/zodbPropSource.py 第 121 行的一個打字錯誤:

    if newVal == val:
    

    應該改成:

    if newVal == value:
    

    就不會有問題了。

  • Membership Source : Null Membership Source

  • Group Source : Null Group Source

  • Default password hashing method : Crypt

    這個項目不管選什麼都應該沒有關係;密碼並不會存在本端,不需要 hash。

接著,出現 Add SMB Authentication Source 頁面,要在

  • Host 裡輸入 Domain Controller 的名稱 (PDC 或 BDC);
  • Windows Domain 裡輸入要登入的 Domain 名稱。
  • WINS Server IP Address 可以不填;不填的話就會用廣播的方式來取得主機的 IP 位址。

在接下來的 Add ZODB Property SourceAdd Basic Membership SourceAdd Basic Group Source 裡都沒有需要填寫的資料,按 OK 繼續。

最後出現的是 Choose Authentication Type 頁面,我們可以在其中自行選擇認證的型態以及指定與 credential caching policy 相關的資料。一切都設定完畢之後,按下 Add 就完成了整個 smbAuthSource 新增的動作。

解決權限問題

System Message: WARNING/2 (<string>, line 45)

Title underline too short.

解決權限問題
==========

上一層 user folder 的權限並不會跟著傳下來到安裝了 XUF smbAuthSource 的目錄。這會造成一個問題:系統內原本的 Manager 在該目錄內沒有權限,而我們又還沒有在 XUF 裡指定新的 Manager ,於是該目錄變成無法以 ZMI 管理,因為沒有帳號具備 Manager 權限!

解決這個問題的方法很簡單,在建立 XUF 之前,先把該目錄的所有權限設給 Authenticated 。等到建立完畢後,把 Manager 指定給需要的使用者,再把 Authenticated 的權限取消掉。

如果你已經建立了一個無法管理的 smbAuthSource XUF,那這個 XUF 就殺不掉了 (因為進不去看得到該 XUF 的 ZMI)。不過可以到它的再上一層 ZMI 裡去,把包含了該 XUF 的整個目錄給刪除掉。這招不能用到安裝在 site_root 的 smbAuthSource XUF 身上 (沒有再上一層目錄了),所以千萬不要把 XUF 裝在 site_root!也不要把 XUF 安裝在已有資料的 zodb 目錄裡,最好是在空目錄裡安裝完 XUF 並且測試好之後,再從其它的地方把資料 copy/paste 或 import 過來。

我並沒有試過 XUF 其它的 AuthSource 會否出現這個現象,但像 Plone 的 Group-aware user folder 並不會有這個問題。所以,它有可能是 smbAuthSource 的特例,使用 smbAuthSource 時請稍作留意。

Posted by yungyuc at 17:26, 0 comment, 0 trackback.
Navigate
Add a trackback
Add a comment

Your name. (required)

Your personal website. (optional)

Your email address. Will not show in page. (suggested, but optional)

Text format is "Plain Text".

Enter "kJaXJ"
© hover year to navigate month: powered by django