在CakePHP中,我們可以使用$this->Auth->allow('someMethod');
使頁面無需登錄即可查看。如何讓某些用戶登錄時看不到相同的頁面?一個例子是我們希望可以在沒有用戶登錄的情況下訪問的註冊頁面,但是一旦用戶登錄後就不能訪問。如何在用戶登錄時使某些頁面不可用
我把$this->Auth->deny('someMethod')
寫入isAuthorized()
但在我看來,如果該方法是在允許列表中,當我們嘗試運行該頁面時,不會調用isAuthorized
。
任何輸入?謝謝
事情是......我發現在查看允許列表中的頁面時,甚至沒有調用isAuthorized()。 但是,無論如何要確認它可能無法通過蛋糕Auth進行操作。 – user152235 2009-08-07 05:00:38
'isAuthorized()'計算用戶是否被您指定爲拒絕或允許的內容授權,所以您已將其取消。 'deny()'拒絕所有人的動作,所以動態使用它是有意義的。你想要的是拒絕(或重定向)用戶是否簡單登錄。要做到這一點,請使用我上面的代碼。 – deceze 2009-08-07 05:05:51
閱讀「isAuthorized()」的描述,它與「已登錄」非常不同:http://api.cakephp.org/class/auth-component#method-AuthComponentisAuthorized – deceze 2009-08-07 05:07:18