Jul 24, 2023 pm 09:49 PM
로그아웃 사용자 로그인 권한 관리 다단계 역할

PHP 기능을 사용하여 사용자 로그인 및 로그아웃에 대한 다단계 역할 및 권한 관리를 구현하는 방법은 무엇입니까?

사용자 로그인 및 로그아웃은 웹사이트를 개발할 때 매우 일반적이고 중요한 기능입니다. 웹 사이트 기능이 확장됨에 따라 일반적으로 여러 사용자가 서로 다른 운영 권한을 갖도록 하기 위해 다단계 역할 및 권한 관리가 필요합니다. 이 기사에서는 PHP 함수를 사용하여 이 기능을 구현하는 방법을 소개하고 코드 예제를 제공합니다.

먼저 사용자 정보를 저장할 데이터베이스 테이블을 생성해야 합니다. 테이블 구조는 다음과 같습니다.

CREATE TABLE users (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(100) NOT NULL,
    password VARCHAR(100) NOT NULL,
    role VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
로그인 후 복사

그 중 username은 사용자 이름을 저장하고, password는 비밀번호, role의 해시 값을 저장합니다. 사용자 역할을 저장하고 created_at는 사용자 생성 시간을 저장합니다. username 存储用户名,password 存储密码的散列值,role 存储用户角色,created_at 存储用户创建时间。

接下来,我们需要编写登录和注销功能的PHP代码。首先是登录功能:

function login($username, $password) {
    // 从数据库中查询用户信息
    $query = "SELECT * FROM users WHERE username = '$username'";
    $result = mysqli_query($conn, $query);
    
    if (mysqli_num_rows($result) == 1) {
        $user = mysqli_fetch_assoc($result);

        // 验证密码
        if (password_verify($password, $user['password'])) {
            // 设置用户登录状态
            $_SESSION['user_id'] = $user['id'];
            $_SESSION['username'] = $user['username'];
            $_SESSION['role'] = $user['role'];

            return true;
        }
    }

    return false;
}
로그인 후 복사

上述代码首先查询数据库中是否存在该用户名,若存在,则通过 password_verify 函数验证密码的正确性。若验证通过,则将用户信息存储在 $_SESSION 中,实现用户登录。

接下来是注销功能的代码:

function logout() {
    // 销毁session
    session_unset();
    session_destroy();
}
로그인 후 복사

上述代码通过调用 session_unset 函数和 session_destroy 函数销毁当前的 $_SESSION

通过以上的代码,我们可以实现基本的用户登录和注销功能。但为了实现多级角色和权限管理,我们还需要提供相应的功能接口。

首先,我们需要编写一个检查用户权限的函数:

function checkPermission($requiredRole) {
    if (isset($_SESSION['role']) && $_SESSION['role'] == $requiredRole) {
        return true;
    } else {
        return false;
    }
}
로그인 후 복사

上述代码会检查当前用户的角色是否满足所需的角色。若满足,则返回 true,否则返回 false

接下来,我们可以通过调用 checkPermission

다음으로 로그인 및 로그아웃 기능을 위한 PHP 코드를 작성해야 합니다. 첫 번째는 로그인 기능입니다.

if (checkPermission('admin')) {
    // 执行管理员操作
} elseif (checkPermission('user')) {
    // 执行普通用户操作
} else {
    // 无权限操作
}
로그인 후 복사
위 코드는 먼저 사용자 이름이 데이터베이스에 존재하는지 쿼리합니다. 존재하는 경우 password_verify 함수를 통해 비밀번호의 정확성을 확인합니다. 인증에 성공하면 사용자 정보가 $_SESSION에 저장되어 사용자 로그인이 이루어집니다.

다음은 로그아웃 함수에 대한 코드입니다. 🎜rrreee🎜위 코드는 session_unset 함수와 session_destroy를 호출하여 현재 $_SESSION을 삭제합니다. > 기능. 🎜🎜위 코드를 사용하면 기본적인 사용자 로그인 및 로그아웃 기능을 구현할 수 있습니다. 그러나 다단계 역할 및 권한 관리를 달성하려면 해당 기능 인터페이스도 제공해야 합니다. 🎜🎜먼저 사용자 권한을 확인하는 함수를 작성해야 합니다. 🎜rrreee🎜위 코드는 현재 사용자의 역할이 필수 역할을 충족하는지 확인합니다. 만족하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 🎜🎜다음으로 checkPermission 함수를 호출하여 해당 권한 제어를 구현할 수 있습니다. 🎜rrreee🎜위 코드는 사용자의 역할에 따라 해당 작업을 수행합니다. 사용자 역할이 관리자인 경우 관리자 작업이 수행되고, 사용자 역할이 일반 사용자인 경우 일반 사용자 작업이 수행되고, 사용자에게 권한이 없으면 권한이 없는 작업이 수행됩니다. 🎜🎜요약하자면, 위의 코드 예제를 통해 PHP 함수를 사용하여 사용자 로그인 및 로그아웃에 대한 다단계 역할 및 권한 관리를 구현합니다. 웹사이트를 개발할 때 이 방법을 사용하면 유연한 사용자 권한 제어를 달성하고 웹사이트의 보안을 보장할 수 있습니다. 🎜

위 내용은 의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 계정을 취소한 후에도 복구할 수 있나요? Xiaohongshu가 취소되면 어떻게 되나요? Xiaohongshu 계정을 취소한 후에도 복구할 수 있나요? Xiaohongshu가 취소되면 어떻게 되나요? Mar 23, 2024 am 11:11 AM

소셜 미디어의 급속한 발전으로 Xiaohongshu는 사용자가 자신의 생활과 쇼핑 경험을 공유하는 인기 플랫폼 중 하나가 되었습니다. 그러나 때때로 개인적인 이유, 보안 문제 또는 기타 고려 사항으로 인해 Xiaohongshu 계정을 취소해야 할 수도 있습니다. 그런데 로그아웃하면 계정을 복원할 수 있나요? 좀 더 자세히 살펴보겠습니다. 1. Xiaohongshu 계정을 취소한 후 복구할 수 있나요? 샤오홍슈의 계정 해지 절차를 살펴보겠습니다. 사용자가 계정을 취소하기로 결정한 경우 Xiaohongshu 앱의 "설정" 페이지에 들어가서 "계정 및 보안"을 선택한 다음 "계정 취소" 버튼을 클릭하여 로그아웃 작업을 완료할 수 있습니다. 취소를 확인한 후 Xiaohongshu는 사용자 계정을 처리하고 관련 개인 정보 및 출판물을 삭제합니다.

Alipay 계정을 취소하는 방법은 무엇입니까? Alipay 계정을 취소하는 방법은 무엇입니까? Alipay 계정을 취소하는 방법은 무엇입니까? Alipay 계정을 취소하는 방법은 무엇입니까? Feb 22, 2024 pm 03:40 PM

계정 및 보안의 계정 로그아웃 인터페이스에서 로그아웃할 수 있습니다. 튜토리얼 적용 모델: iPhone13 시스템: iOS15.5 버전: Alipay 10.2.8 분석 1 Alipay 내 인터페이스 오른쪽 상단에 있는 작은 기어 아이콘을 클릭합니다. 2팝업창에서 [계정 및 보안]을 클릭하세요. 3계정 및 보안 인터페이스에서 [보안 센터]를 클릭하세요. 4보안 센터 인터페이스에서 [계정 로그아웃]을 클릭하세요. 5[지금 취소]를 클릭하고 안내에 따라 Alipay 로그아웃 관련 작업을 완료하세요. 보충: Alipay가 취소된 경우 다시 신청할 수 있나요? 1 Alipay가 취소된 경우 다시 신청할 수 있지만 원래 계정은 복원할 수 없습니다. Alipay 계정이 성공적으로 폐쇄되면 계정을 복원할 수 없으며 계정의 원래 권리와 서비스가 무효화됩니다. 이것은 의미한다

차이나모바일 카드 취소 방법 차이나모바일 카드 취소 방법 Mar 14, 2024 pm 06:25 PM

차이나모바일 카드 취소 방법 차이나 모바일에서는 전화카드를 직접 취소할 수 있는데, 대부분의 사용자들은 모바일 카드 취소 방법을 모릅니다. 다음은 편집자가 가져온 차이나 모바일 카드 취소 방법에 대한 그래픽 튜토리얼입니다. 관심있는 유저들 와서 구경해보세요! 차이나 모바일 카드 취소 방법 1. 먼저 차이나 모바일 앱을 열고 메인 페이지 오른쪽 하단의 [내] 영역을 클릭한 후 오른쪽 상단의 [설정] 버튼을 선택합니다. 설정 기능 페이지에서 [계정 및 보안] 옵션을 선택하고 클릭합니다. 3. 그런 다음 계정 및 보안 서비스 페이지로 이동하여 [로그아웃 서비스] 기능을 찾습니다. 4. 마지막으로 아래 그림에 표시된 페이지에서 다음을 확인합니다. 사각 박스를 클릭한 후 [신청 확인]을 클릭하여 로그아웃하세요.

Douban 계정을 취소하는 방법은 무엇입니까? 두반 계정 해지 작업 과정! Douban 계정을 취소하는 방법은 무엇입니까? 두반 계정 해지 작업 과정! Mar 15, 2024 pm 06:40 PM

1. Douban 계정을 취소하는 방법은 무엇입니까? 두반 계정 해지 작업 과정! 1. Douban 앱의 왼쪽 상단에 있는 버튼을 클릭하고 설정을 선택하세요. 2. 설정 인터페이스에서 정보 및 계정 옵션을 선택합니다. 3. 그런 다음 정보 및 계정 설정 페이지로 이동한 후 Douban Security Center를 클릭합니다. 4. Douban Security Center 인터페이스로 이동한 후 클릭하여 계정에서 로그아웃합니다. 5. 마지막으로 계정 삭제 시 계속 로그아웃 버튼을 클릭하면 계정 로그아웃이 완료됩니다.

Xiaohongshu 계정을 취소한 경우 다시 복구할 수 있나요? 취소가 즉시 적용되나요? Xiaohongshu 계정을 취소한 경우 다시 복구할 수 있나요? 취소가 즉시 적용되나요? Mar 08, 2024 am 08:04 AM

최근 몇 년 동안 소셜 미디어의 등장으로 점점 더 많은 사람들이 자신의 생활 정보를 인터넷에서 공유하기로 선택했습니다. 샤오홍슈는 쇼핑 리뷰와 생활 공유를 주제로 한 소셜 플랫폼으로 젊은이들에게 큰 사랑을 받고 있습니다. 그러나 때때로 Xiaohongshu 계정을 취소해야 하는 상황이 발생할 수 있습니다. 그럼 샤오홍슈가 취소된 경우에도 다시 받을 수 있나요? 1. 샤오홍슈가 취소된 경우에도 다시 받을 수 있나요? 할 수 없습니다. Xiaohongshu 계정을 취소하기로 결정할 때 가장 먼저 알아야 할 것은 취소 작업이 취소되면 취소가 불가능하다는 것입니다. 그러므로 로그아웃 작업을 진행하기 전에 다시 한번 생각해 보아야 합니다. Xiaohongshu가 제공하는 공식 도움말 페이지에는 사용자가 계정을 삭제하면 해당 데이터와 콘텐츠가 영구적으로 삭제된다는 점을 명확하게 명시되어 있습니다.

React Query에서 데이터 공유 및 권한 관리를 어떻게 구현하나요? React Query에서 데이터 공유 및 권한 관리를 어떻게 구현하나요? Sep 27, 2023 pm 04:13 PM

ReactQuery에서 데이터 공유 및 권한 관리를 구현하는 방법은 무엇입니까? 기술의 발전으로 인해 프런트엔드 개발의 데이터 관리가 더욱 복잡해졌습니다. 전통적인 방식에서는 Redux 또는 Mobx와 같은 상태 관리 도구를 사용하여 데이터 공유 및 권한 관리를 처리할 수 있습니다. 그러나 ReactQuery가 등장한 이후 이를 사용하면 이러한 문제를 보다 편리하게 처리할 수 있습니다. 이번 글에서는 ReactQuery에서 데이터 공유와 권한을 구현하는 방법을 설명하겠습니다.

Layui 프레임워크를 사용하여 다중 사용자 로그인을 지원하는 권한 관리 시스템을 개발하는 방법 Layui 프레임워크를 사용하여 다중 사용자 로그인을 지원하는 권한 관리 시스템을 개발하는 방법 Oct 27, 2023 pm 01:27 PM

Layui 프레임워크를 사용하여 다중 사용자 로그인을 지원하는 권한 관리 시스템을 개발하는 방법 소개: 현대 인터넷 시대에는 개인화된 기능과 권한 관리를 달성하기 위해 다중 사용자 로그인을 지원해야 하는 애플리케이션이 점점 더 많아지고 있습니다. 시스템 보안과 데이터 개인정보 보호를 위해 개발자는 특정 수단을 사용하여 다중 사용자 로그인 및 권한 관리 기능을 구현해야 합니다. 이 기사에서는 Layui 프레임워크를 사용하여 다중 사용자 로그인을 지원하는 권한 관리 시스템을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 개발 시작 전 준비

Debian 11에서 시스템을 로그아웃하거나 종료하는 방법 Debian 11에서 시스템을 로그아웃하거나 종료하는 방법 Dec 27, 2023 pm 02:22 PM

Debian11에서 시스템을 종료하는 방법은 무엇입니까? 에디터를 이용한 구체적인 작업을 살펴보겠습니다. 방법 1: [모든 앱] - [로그아웃]을 클릭하세요. 팝업 인터페이스에서 [종료]를 클릭하세요. 방법 2: 터미널에서 다음 명령을 실행합니다: sudoshutdown-hnow

See all articles