> 백엔드 개발 > PHP 튜토리얼 > PHP 학습 단계: 권한 제어 관리 시스템 사용 방법

PHP 학습 단계: 권한 제어 관리 시스템 사용 방법

WBOY
풀어 주다: 2023-08-26 18:32:01
원래의
1040명이 탐색했습니다.

PHP 학습 단계: 권한 제어 관리 시스템 사용 방법

PHP 학습 단계: 권한 제어 관리 시스템 사용 방법

소개:
현대 소프트웨어 개발에서 권한 제어는 매우 중요한 부분입니다. 웹사이트 관리 시스템이든 백엔드 관리 시스템이든 권한 제어는 필수적인 기능입니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 기본 권한 제어 관리 시스템을 구현하는 방법을 소개합니다.

1단계: 데이터베이스 테이블 생성
먼저 사용자 및 권한 정보를 저장할 데이터베이스를 생성해야 합니다. MySQL이나 다른 관계형 데이터베이스를 사용하여 테이블을 만들 수 있습니다.

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `permissions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `permission` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
);
로그인 후 복사

위 테이블은 사용자 정보와 권한 정보를 저장하는 데 사용됩니다. 'users' 테이블은 사용자 이름과 비밀번호를 저장하는 데 사용되고 'permissions' 테이블은 사용자와 권한 간의 통신을 저장하는 데 사용됩니다. 여기서 'user_id'는 'user' 테이블의 외래 키입니다.

2단계: PHP 코드 생성
PHP를 사용하여 권한 제어 관리 시스템을 구현하는 코드를 작성하겠습니다. 먼저 데이터베이스에 연결해야 합니다.

<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

// 程序继续执行...
?>
로그인 후 복사

위 코드에서 'your_username'과 'your_password'를 자신의 데이터베이스 사용자 이름과 비밀번호로 바꿔야 합니다. 'your_database'는 자신의 데이터베이스 이름으로 바꿔야 합니다.

3단계: 사용자 로그인 및 인증
다음으로 사용자 로그인 및 인증 기능을 구현해야 합니다. 먼저 로그인 양식을 만듭니다.

<form action="login.php" method="POST">
  <input type="text" name="username" placeholder="用户名">
  <input type="password" name="password" placeholder="密码">
  <input type="submit" value="登录">
</form>
로그인 후 복사

그런 다음 'login.php'라는 새 파일을 만들어 양식 제출을 처리하세요.

<?php
session_start();

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $username = $_POST["username"];
  $password = $_POST["password"];

  $sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    $_SESSION["user_id"] = $row["id"];
    header("Location: dashboard.php");
  } else {
    echo "用户名或密码错误";
  }
}

$conn->close();
?>
로그인 후 복사

위 코드에서는 다른 페이지에서 권한 확인을 위해 사용자 ID를 저장하기 위해 $_SESSION 변수를 사용했습니다. 로그인에 성공하면 사용자를 'dashboard.php'라는 새 페이지로 리디렉션합니다. $_SESSION变量来存储用户的id,以便在其他页面中进行权限验证。如果登录成功,我们会将用户重定向到一个名为'dashboard.php'的新页面。

步骤四:权限验证
在每个需要进行权限控制的页面,我们需要先验证用户是否具有相应的权限。以下是一个示例页面的代码:

<?php
session_start();

if(!isset($_SESSION["user_id"])){
  header("Location: login.php");
  exit;
}

$user_id = $_SESSION["user_id"];

$sql = "SELECT * FROM permissions WHERE user_id = $user_id AND permission = 'admin'";
$result = $conn->query($sql);

if ($result->num_rows == 0) {
  echo "权限不足";
  exit;
}

// 程序继续执行...
?>
로그인 후 복사

在以上的代码中,我们首先验证$_SESSION["user_id"]

4단계: 권한 확인

권한 제어가 필요한 각 페이지에서는 먼저 사용자에게 해당 권한이 있는지 확인해야 합니다. 다음은 샘플 페이지의 코드입니다.
rrreee

위 코드에서는 먼저 $_SESSION["user_id"]가 있는지 확인하고, 없으면 사용자를 다음 페이지로 리디렉션합니다. 로그인 페이지. 그런 다음 사용자 ID를 기반으로 데이터베이스를 쿼리하고 사용자에게 'admin'이라는 권한이 있는지 확인합니다. 권한이 없으면 프로그램은 "권한 부족"을 출력하고 실행을 중지합니다.

결론:

위 단계를 통해 기본 권한 제어 관리 시스템을 성공적으로 구현했습니다. 이 시스템을 계속 확장하고 더 많은 권한과 기능을 추가할 수 있습니다.

🎜물론 이것은 단지 입문용 예시일 뿐입니다. 실제 프로젝트에서는 더 많은 기능과 더 복잡한 권한 제어 로직이 필요할 수 있습니다. PHP와 데이터베이스에 대한 심층적인 연구를 바탕으로 권한 제어 기능을 더욱 향상시킬 수 있습니다. 🎜🎜이 기사가 PHP를 배우고 권한 제어 관리 시스템을 구현하는 데 도움이 되길 바랍니다! 🎜

위 내용은 PHP 학습 단계: 권한 제어 관리 시스템 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿