在我的控制器中,我通過在我的函數前加上admin_
來限制訪問,然後讓AppController函數檢查用戶是否是管理員。有沒有辦法做到這一點與頁面(從PageController)?我們創建了一個管理主頁(如儀表板),用戶無法查看它們是否未登錄,但非管理員用戶可以查看它。我無法弄清楚如何防止這種情況。CakePHP:你可以在頁面中使用管理員前綴嗎?
0
A
回答
1
你對網頁有什麼意思?靜態服務由PagesController或.htm(l)文件位於您的webroot?
如果您的情況是第一件事,您可以爲頁面控制器實現此邏輯。 如果是第二個 - 請求沒有通過CakePHP(或任何其他服務器端腳本),那麼您不能通過Cake控制對它的訪問。
如果您的情況是別的,那麼請優化您的問題,我很樂意提供幫助。
正如評論所示,你處於這種情況下:1。在PagesController的類的聲明,它說:
class PagesController extends AppController {
這意味着你可以使用在AppController中的任何一個類,它擴展AppController的任何邏輯。因此,您可以在PagesController中使用isAuthorized()
。
您只需創建一個名稱與「管理控制檯視圖」相同的方法,並僅允許管理員訪問該方法。或者只是檢查用戶角色。
+0
這是第一個。我想要求管理員角色查看由PagesController提供的特定頁面 – emersonthis 2013-04-26 14:26:55
1
假設第一個參數是請求的頁面,你可以使用此語句捕捉它:
$this->request->pass[0];
可以使用isAuthorized函數來解決你的問題做這樣的事情......
public function isAuthorized()
{
$page = strtolower($this->request->pass[0]);
if ($page = 'admin_page')
{
if ($this->Auth->user('Role.role_field') == 'Admin')
{
return TRUE;
}
else
{
return FALSE;
}
}
else
{
// This will authorize users for the other pages
return TRUE;
}
}
希望這會有所幫助。總是檢查CookBook:有時你需要檢查舊書籍以找到你真正需要的東西。快樂編碼!
相關問題
- 1. CakePHP的:「添加」操作不會以管理員前綴工作
- 2. 你可以強迫微星始終是管理員嗎?
- 3. 使用前綴,而不是在CakePHP中
- 4. 管理員頁面登錄
- 5. 我可以在Ruby on Rails中使用url_for前綴選項嗎?
- 6. 頁面管理員作爲應用程序的管理員?
- 7. 我可以使用django管理員作爲應用程序嗎?
- 8. 在CakePHP中使用Auth和管理員前綴時奇怪的重定向問題
- 9. 用戶可以訪問管理頁面使用會話在php
- 10. 在管理員的內部頁面中使用CSRF非常重要嗎?
- 11. Joomla jConfig可以使用管理員插件進行擴展嗎?
- 12. CakePHP:如何爲特定頁面要求管理員角色?
- 13. CakePHP管理面板和前端
- 14. 在CakePHP上使用域作爲「前綴」
- 15. 你可以在DataTemplate中使用CollectionViewSource嗎?
- 16. 你可以在RCloud中使用LaTex嗎?
- 17. 你可以在IIS中使用node.js嗎?
- 18. 你可以在sessionStorage中使用jQuery嗎?
- 19. 你可以在Gitlab中使用word_diff嗎?
- 20. 是否可以發佈到您使用Facebook Javascript SDK的管理員的頁面?
- 21. 遇到CakePHP 2.0管理員前綴和AuthComponent在用戶模型中的插件中出現問題,特別是
- 22. cakephp auth-> loginRedirect管理員
- 23. CakePHP - 路由到管理員
- 24. CakePHP管理面板
- 25. 鏈接到cakephp的管理頁面
- 26. CAKEPHP 2.0中管理員和用戶的不同會話超時。可能嗎?
- 27. 你可以在事件處理程序中使用wxMutex嗎?
- 28. 可以Redis做前綴匹配嗎?
- 29. QName值可以不帶前綴嗎?
- 30. Cakephp 3 - 創建與管理前綴不工作的鏈接
本教程http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html#authorization-who-s-allowed-to-access-what顯示你如何完成這樣做的基礎知識。整個教程很有用,但鏈接的部分與您想要執行的操作相關。 – kais 2013-04-26 14:27:58
謝謝,但我一直在閱讀這一章,並沒有談論PagesController。我的其他控制器工作正常,但它並沒有幫助我在*頁上授權用戶* – emersonthis 2013-04-26 14:29:39
如果您使用PagesController的顯示操作,它將允許任何用戶查看它。嘗試創建一個以admin_爲前綴的單獨操作並使用它來驅動儀表板。 http://book.cakephp.org/2.0/en/controllers/pages-controller.html – kais 2013-04-26 14:48:51