我正在使用cakePHP構建應用程序。我們是否有一種方法可以讓公共用戶在不登錄的情況下訪問特定頁面。關於整個組織或聯繫我們頁面,我們會有幾頁介紹我們。有沒有避免登錄訪問的方法,類似於我們如何添加組件或設置佈局的方法。無需登錄即可進行操作/頁面
1
A
回答
1
正如Martin Bean所說,您可以使用ACL。對於一個複雜的網站,這將是我的選擇。您不必登錄即可訪問公共頁面。 http://multiheadweighers.co.uk是使用ACL的站點的示例。在公共頁面背後有一個功能齊全的CMS。
對於一個簡單的網站,我會允許訪問,例如,視圖操作使用
function beforeFilter() {
parent::beforeFilter;
$this->Auth->allow('view');
}
見:http://book.cakephp.org/view/1257/allow
這真的不是什麼大不了的 - 嘗試它,你會看看它是多麼容易。
編輯:
從書@http://book.cakephp.org/view/1550/Setting-up-permissions
現在,我們要拿出引用 到Auth->檢查allowedActions在用戶 和組控制器。然後添加 以下到您的文章和widget 控制器:
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allowedActions = array('index', 'view');
}
刪除「斷開關」我們把前面的用戶和組控制器,並提供了有關指標,並查看行動的公共訪問在帖子和小部件控制器中。在AppController :: beforeFilter()中添加以下內容:
$this->Auth->allowedActions = array('display');
這會使「顯示」操作公開。這將保持我們的PagesController :: display()公開。這很重要,因爲默認路由通常將此操作作爲您應用程序的主頁。
編輯2:
$user = ($this->Auth->user())?$this->Auth->user():'Anonymous';
if(!$this->Acl->check($user,"{$url}"))
$this->redirect($this->referer()); // or whatever action you want to take.
1
的解決辦法是使用方法允許在驗證組件,讓用戶訪問這些頁面。
謝謝!
相關問題
- 1. 如何限制用戶無需登錄即可進入頁面
- 2. 可能無需登錄即可發佈到Facebook頁面牆?
- 3. 無需登錄即可運行Publish-AzureRmVMDscConfiguration
- 4. 無需登錄即可訪問私人頁面
- 5. android-無需登錄即可獲取Facebook粉絲頁面圖片
- 6. 從Facebook頁面無需登錄即可獲取博文
- 7. LinkedIn API - 無需登錄即可進行簡單查詢
- 8. 無需用戶登錄即可進行身份驗證?
- 9. 無需登錄即可訪問
- 10. Java程序無需登錄即可在Facebook牆頁上發佈
- 11. 無需登錄即可保護REST界面
- 12. 限制用戶無需使用javascript登錄即可訪問頁面
- 13. 登錄Freebase進行MQLWrite操作
- 14. 使用Facebook登錄登錄無法在結帳登錄頁面上工作,但在登錄頁面上工作
- 15. 在頁面頂部進行登錄
- 16. Yii:無登錄頁面處理登錄
- 17. 無需登錄就可以訪問其他頁面
- 18. 登錄頁面無法正常工作
- 19. 登錄頁面無法運作
- 20. 登錄頁面無法正常工作
- 21. 訪問任何頁面而無需通過登錄頁面
- 22. 即使用戶登錄頁面預覽重定向到登錄頁面
- 23. 進行登錄面板
- 24. sitecore製作登錄頁面
- 25. 即使用戶已經登錄,也會顯示登錄頁面
- 26. 登錄頁面渲染值,即使用戶未登錄
- 27. 需要登錄進行寫入訪問的後端即服務?
- 28. Django無需再次登錄即可更改密碼
- 29. 無需強制用戶登錄即可訪問圖表數據
- 30. 無需登錄即可獲取Google Analytics數據
您可以利用ACT的+ AUTH – 2010-10-30 12:00:24