PHP用户访问控制 - 检查Page_Load

时间:2011-08-05 13:27:02

标签: php .net

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是一个基本的(开始)示例:

在需要身份验证的每个页面(将此位置为top:line: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
    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
?>