只有一个用户可以打开 admin.ctp 个文件
Only one user can open admin.ctp file
我想做一个页面,这个页面只能打开一个用户。我想做这样的事情:如果用户 id = 1 那么它的打开否则它的抛出错误。
我已经试过了:
if (in_array($this->action, array('controller' => 'users', 'action' => 'admin'))) {
$postId = (int) $this->request->params['pass'][0];
if ($this->User->isOwnedBy($postId, $users['id'] = 1)) {
return true;
}else{echo "You are not admin!";}
}
然后我想,也许这样更容易一些?
public function admin($id = null) {
$this->User->id = $id;
if ($id == 1) {
echo 'You are admin';
}
else {
throw new NotFoundException(__('You are not admin !'));
}
}
但它不起作用,我如何将此用户 ID 放入此 if 中。第二个解决方案只抛出这个错误,但我不想要它,如果用户 ID 是 1,我想要访问。
这是用户图片
感谢您提供任何线索或解决方案。
所以你想检查用户 ID 是否为 1 ??
//Fetch the user informations from database and stock it into $user
if(is_admin($user[id])){
echo 'You are admin';
}
else{
echo 'You are not admin';
}
function is_admin($id = NULL){
if($id == 1){
return true;
}
else{
return false;
}
}
如果我误解了请告诉我
编辑:
根据我们的聊天记录,试试这个:
//Fetch the ID of the user and stock it in $user_id
if($user_id == 1){
echo 'You are admin';
}
else{
echo 'You are not admin';
}
获取登录用户数据的推荐方法是通过 AuthComponent 本身:
// in any controller
$userId = $this->Auth->user('id');
见Accessing the logged in userAccessing the logged in user in the Auth section of the CakePHP Book。
试试这个-
public function admin($id = null) {
$currentUserId = $this->Auth->user(id);
//$isAdmin = $this->User->hasAny(
//array('User.id' => $currentUserId)
//);
//if ($isAdmin) {
if ($currentUserId == 1)
echo 'You are admin';
} else {
throw new NotFoundException(__('You are not admin !'));
}
}
对于登录用户。
更好的选择:-
为管理员使用角色 ID,这将帮助您管理多个管理员。并将负 ID 提供给管理员:-
喜欢在用户 table 中添加 role_id
列并为 -1
赋值
public function admin($id = null) {
$role = $this->Session->read('Auth.User.role_id');
if ($role < 0)
echo 'You are admin';
} else {
throw new NotFoundException(__('You are not admin !'));
}
}
我想做一个页面,这个页面只能打开一个用户。我想做这样的事情:如果用户 id = 1 那么它的打开否则它的抛出错误。
我已经试过了:
if (in_array($this->action, array('controller' => 'users', 'action' => 'admin'))) {
$postId = (int) $this->request->params['pass'][0];
if ($this->User->isOwnedBy($postId, $users['id'] = 1)) {
return true;
}else{echo "You are not admin!";}
}
然后我想,也许这样更容易一些?
public function admin($id = null) {
$this->User->id = $id;
if ($id == 1) {
echo 'You are admin';
}
else {
throw new NotFoundException(__('You are not admin !'));
}
}
但它不起作用,我如何将此用户 ID 放入此 if 中。第二个解决方案只抛出这个错误,但我不想要它,如果用户 ID 是 1,我想要访问。
这是用户图片
感谢您提供任何线索或解决方案。
所以你想检查用户 ID 是否为 1 ??
//Fetch the user informations from database and stock it into $user
if(is_admin($user[id])){
echo 'You are admin';
}
else{
echo 'You are not admin';
}
function is_admin($id = NULL){
if($id == 1){
return true;
}
else{
return false;
}
}
如果我误解了请告诉我
编辑: 根据我们的聊天记录,试试这个:
//Fetch the ID of the user and stock it in $user_id
if($user_id == 1){
echo 'You are admin';
}
else{
echo 'You are not admin';
}
获取登录用户数据的推荐方法是通过 AuthComponent 本身:
// in any controller
$userId = $this->Auth->user('id');
见Accessing the logged in userAccessing the logged in user in the Auth section of the CakePHP Book。
试试这个-
public function admin($id = null) {
$currentUserId = $this->Auth->user(id);
//$isAdmin = $this->User->hasAny(
//array('User.id' => $currentUserId)
//);
//if ($isAdmin) {
if ($currentUserId == 1)
echo 'You are admin';
} else {
throw new NotFoundException(__('You are not admin !'));
}
}
对于登录用户。
更好的选择:-
为管理员使用角色 ID,这将帮助您管理多个管理员。并将负 ID 提供给管理员:-
喜欢在用户 table 中添加 role_id
列并为 -1
public function admin($id = null) {
$role = $this->Session->read('Auth.User.role_id');
if ($role < 0)
echo 'You are admin';
} else {
throw new NotFoundException(__('You are not admin !'));
}
}