我爲使用CAS提供單點登錄認證的大學的一個部門工作,並且正在編寫需要使用此CAS服務的CakePHP應用程序。我需要編寫代碼:看到我應該將CAS會話檢查代碼放在CakePHP應用程序中?
- 檢查與CAS服務器,如果用戶在
- 記錄從服務器拉一些憑據如果是
- 檢查與內部ACL的憑據,如可以訪問應用程序的人員集合是可以登錄到CAS服務的集合的子集。
- 爲管理員用戶提供了一些機制,可以通過在CAS系統之外創建特殊的管理員用戶(帶來所有令人頭痛的事情),或者通過促進某些CAS用戶(帶來不同的頭痛)。
作爲CakePHP的一個相對新手,我經常在與「不屬於」的代碼粘在一起。我能想到的最好的結果是,這段代碼應該放在App Controller的beforeFilter方法中,但我想知道,這是最適合它的地方嗎?另外,它是否太低,以利用管理路由?最後,我知道CakePHP同時提供了Auth和ACL組件,但是當我研究使用它們時,它們似乎不適合與外部認證服務進行接口連接。我錯了嗎?這兩者中的哪一個都適合我需要做的事?
謝謝!
如果您不打算使用核心`AuthComponent`,則可以將`CasAuthComponent`命名爲`AuthComponent`。另外,如果您不打算在MySQL數據庫中維護本地用戶信息,則可以將`CasUser`命名爲`User`。但是,如果你這樣做了,你可能想稱之爲`ExternalUser`來將其語義與數據源(CAS)分離。 – deizel 2009-08-01 14:29:52