我在使用CAS提供单点登录身份验证的大学部门工作,并且正在编写需要使用此 CAS 服务的 CakePHP 应用程序。我需要编写以下代码:
- 检查 CAS 服务器以查看用户是否已登录
- 如果是,则从服务器中提取一些凭据
- 根据内部 ACL 检查凭据,因为可以访问应用程序的一组人员是可以登录到 CAS 服务的一组人员的子集。
- 为管理员用户提供一些机制,或者通过在 CAS 系统之外创建特殊的管理员用户(会带来所有的麻烦)或通过提升某些 CAS 用户(会带来不同的麻烦)。
作为 CakePHP 的新手,我经常纠结在哪里粘贴“不属于”的代码。我能想到的最好的办法是这段代码应该放在 App Controller 的 beforeFilter 方法中,但我想知道,这是最好的地方吗?此外,堆栈是否太低而无法利用管理路由?
最后,我知道 CakePHP 提供了 Auth 和 ACL 组件,但是当我研究使用它们时,它们似乎不适合与外部身份验证服务交互。我错了,其中任何一个都适合我需要做的事情吗?
谢谢!