显示/隐藏链接cakephp 3.0

时间:2015-05-03 07:42:49

标签: cakephp hyperlink

对不起我是cakephp 3.0的新手。在我的用户表中,有两种用户类型:admin和public。如何根据default.ctp中的用户类型显示/隐藏链接?任何人都可以指导我,谢谢!!

这是我的app控制器     

namespace App\Controller;

use Cake\Controller\Controller;
use Cake\Event\Event;

class AppController extends Controller
{
//...

public function initialize()
{
    $this->loadComponent('Flash');
    $this->loadComponent('Auth', [
        'authenticate' => [
            'Form' => [
                'fields' => [
                    'username' => 'email',
                    'password' => 'password'
                ]
            ]
        ],
        'loginRedirect' => [
            'controller' => 'Users',
            'action' => 'index'
        ],
        'logoutRedirect' => [
            'controller' => 'Pages',
            'action' => 'display',
            'home'
        ]
    ]);

   }
  public function beforeFilter(Event $event)
    {
   $this->Auth->allow(['controller' => 'Users', 'action' => 'add', 'index',                                             

   ]);
    }

     }

1 个答案:

答案 0 :(得分:0)

您发布的AppController与我对您的请求的理解无关,这让我有点困惑。无论哪种方式,您都可以通过会话变量访问当前登录用户的会话。

例如 - 如果您的用户表格中包含“' type'其中的价值观' public'或者' admin'存储,看起来像这样:

<?php if ($this->session->read('Auth.User.type') == 'admin') { ?>

    <a href="#">Link to admin functions</a>

<?php } else { ?>

    <a href="#">Boring public link</a>

<?php } ?>

假设您正在使用已登录的用户。如果您还没有那么远,请阅读CakePHP 3 tutorial on authentication and authorization