我不想检查用户是否已登录 - 通常已完成。我想检查当前视图是否在控制器中设置的允许列表中。
$this->Auth->allow('testresults', 'testlist' , 'detaillist',
如何确定是否允许某项操作?
答案 0 :(得分:0)
用它来检查。
let attrTet = NSMutableAttributedString(string: "Test is \ne next line.", attributes: nil)
testButton.titleLabel?.numberOfLines = 0
testButton.setTitle(attrTet.string, forState: .Normal)
答案 1 :(得分:0)
在任何地方使用此代码来查看允许的操作:
debug(AuthComponent::$allowedActions);exit;
答案 2 :(得分:0)
allowed actions are stored in a public property,所以在你的控制器代码中,你可以这样做:
$allowed = $this->Auth->allowedActions;
$this->set('allowedActions', $allowed);
然后只需在视图中预期该数组。
原则上,视图模板不需要询问信息 - 它们只应根据收到的信息采取行动。
答案 3 :(得分:0)
现在提出混合代码解决方案..在beforefilter中..
$this->Auth->allow('index', 'page1','page2'..);
$pagepermission = 'private';
$allowed = $this->Auth->allowedActions;
$action = $this->request->params['action'];
if(in_array($action, $allowed)){
$pagepermission = 'public';
}
$this->set('pagepermission',$pagepermission);