Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP用户访问控制-检查页面加载_Php_.net - Fatal编程技术网

PHP用户访问控制-检查页面加载

PHP用户访问控制-检查页面加载,php,.net,Php,.net,我在一个网站的后端工作。它已经开始工作了,一切都准备就绪,但我最近建立了一个用户管理部分。现在我想为用户创建用户权限,并且只允许那些在数据库中设置为管理员的用户访问用户管理页面 我用.NET做了一些事情,它有一个非常好的身份验证功能,在页面加载时,我检查用户是否有权访问此页面,如果没有,则将其重定向到拒绝访问的页面。PHP有类似的功能吗?这将获取登录用户的用户名并与数据库进行核对,如果允许,他将看到该网站,否则他将被重定向到拒绝访问的页面 如果有更好的解决方案,请随时在这里发布 以下是一个基本(

我在一个网站的后端工作。它已经开始工作了,一切都准备就绪,但我最近建立了一个用户管理部分。现在我想为用户创建用户权限,并且只允许那些在数据库中设置为管理员的用户访问用户管理页面

我用.NET做了一些事情,它有一个非常好的身份验证功能,在页面加载时,我检查用户是否有权访问此页面,如果没有,则将其重定向到拒绝访问的页面。PHP有类似的功能吗?这将获取登录用户的用户名并与数据库进行核对,如果允许,他将看到该网站,否则他将被重定向到拒绝访问的页面

如果有更好的解决方案,请随时在这里发布

以下是一个基本(对于初学者)示例:

在需要验证的每一页(将此a放置在顶部:行:1)中:

<?php
  session_start();
  //check if login key is already present, if yes user is already login
  if(!isset($_SESSION['login']) {
    header('location: login.php'); //redirect to login page
  }

  //sample of accessing a session variable
  echo "current user is ", $_SESSION['username'];
?>

这实际上取决于您需要系统处理什么。大多数基于PHP的身份验证系统使用会话变量和MySql来存储和保持应用程序可用的活动用户信息。我从未使用过这个,但它显然是一个易于实现的身份验证系统。使用PHP构建基本的用户身份验证/权限系统也相对容易。google搜索将提供数千个教程。

我现在正在尝试Session,因为我已经知道,如果我能存储该用户所属的组,那么我就可以使用该组作为身份验证
<?php
    session_start();
    //check if user credentials
    if(username and password) {
         //set a marker on the session
         $_SESSION['login'] = true;
         $_SESSION['username'] = $username;
         //place additional info on the session
    }
?>
<?php
    session_start();
    unset($_SESSION['login']);
    //or $_SESSION = array(); //clears all session variables
?>