拒绝未经授权的用户访问URL /视图

问题描述 投票:0回答:1

是否有一种方法可以拒绝某些用户(例如,允许管理员和拒绝普通用户)访问特定的URL /视图?

我正在这样做:

<?php if($this->session->userdata('level')==='1'):?>
        <h1>Hi!!!!</h1>
        <p>You can access!!</p>
    <?php elseif($this->session->userdata('level')==='2'):?>
        <h1>Level 2, access denied</h1>
    <?php else:?>
        <h1>Level 3, access denied</h1>
    <?php endif;?>

但是我更喜欢不允许加载页面,例如,不允许他们访问此URL:http://localhost/login/page/posts

php codeigniter authentication access-control
1个回答
0
投票

您需要从控制器加载不同的页面,具体取决于用户的会话级别:

您的示例URL分解为:

http://localhost/login/page/posts
                /controller/function/parameter

所以在您的控制器Login.php中:

function page($page){
  $data['msg']='you need to login to access this page';
  if($page=='posts' && $this->session->userdata('level')==='2'){
    $this->load->view('posts'); // loads posts.php
  }else{
    $this->load->view('login', $data);  // loads login.php, you can display $msg
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.