현재 위치: > 최신 기사 목록> PHP를 사용하여 사용자 로그인 및 다단계 역할 권한 관리를 구현하는 방법

PHP를 사용하여 사용자 로그인 및 다단계 역할 권한 관리를 구현하는 방법

M66 2025-06-25

PHP를 사용하여 사용자 로그인 및 다단계 역할 권한 관리를 구현하는 방법

웹 사이트를 개발할 때 사용자 로그인 및 로그 아웃은 필수 불가능한 기능입니다. 웹 사이트가 계속 확장됨에 따라 사용자 역할 및 권한의 정제 된 관리를 달성하는 것이 특히 중요합니다. 이 기사는 PHP 기능을 통해 사용자 로그인 및 로그 아웃 기능을 구현하는 방법을 자세히 소개하고 다른 사용자가 해당 작업 권한을 갖도록하기 위해 다단계 역할 및 권한 관리로 확장합니다.

1. 사용자 정보 데이터베이스를 만듭니다

먼저 사용자 이름, 암호, 역할 및 생성 시간을 포함하여 사용자 정보를 저장하기 위해 데이터베이스 테이블을 작성해야합니다. 다음은 사용자 테이블의 데이터베이스 구조입니다.

테이블 사용자 만들기 (
    id int (11) auto_increment 기본 키,
    username varchar (100) NOT NULL,
    비밀번호 varchar (100) null,
    역할 varchar (50) null,
    created_at timestamp default current_timestamp
);

이 테이블 구조에서 :

  • 사용자 이름은 사용자 이름을 저장하는 데 사용됩니다.
  • 암호는 암호화 된 암호 값을 저장합니다.
  • 역할 저장소 사용자 역할,
  • create_at는 사용자의 생성 시간을 저장합니다.

2. PHP 로그인 기능을 작성하십시오

다음으로 사용자의 로그인 기능을 구현하기 위해 PHP 기능을 작성합니다.

함수 로그인 ($ username, $ password) {
    // 데이터베이스에서 사용자 정보 쿼리 $ query = "select * 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'];
            진실을 반환하십시오.
        }
    }
    
    거짓을 반환합니다.
}

위의 코드는 먼저 사용자 이름이 데이터베이스에 존재하는지 확인합니다. 존재하는 경우 password_verify 함수를 통해 암호의 정확성을 확인하십시오. 확인이 전달되면 사용자 로그인을 실현하기 위해 사용자 정보가 $ _session 에 저장됩니다.

3. PHP 로그 아웃 기능을 작성하십시오

다음은 Session_Unset ()Session_Destroy ()를 사용하여 현재 세션을 파괴하는 사용자가 로그 아웃하는 PHP 코드입니다.

함수 로그 아웃 () {
    // 세션을 파괴합니다
    session_unset ();
    Session_Destroy ();
}

이 코드를 통해 사용자는 세션에서 성공적으로 로그 아웃하고 로그인 상태에서 로그 아웃 할 수 있습니다.

4. 다단계 역할 및 권한 관리를 구현하십시오

로그인 및 로그 아웃 기능을 기반으로 다단계 역할 및 권한 제어를 추가하도록 더 확장 할 수 있습니다. 사용자 권한을 확인하는 기능은 다음과 같습니다.

함수 checkpermission ($ impledrole) {
    if (isset ($ _ session [ 'role']) && $ _session [ 'role'] == $ imreedrole) {
        진실을 반환하십시오.
    }
    거짓을 반환합니다.
}

이 기능은 현재 사용자의 역할이 필요한 역할을 충족하는지 여부를 확인합니다. 일치하는 경우 True 를 반환합니다. 그렇지 않으면 거짓을 반환하십시오.

5. 권한 제어의 적용

다음으로 다른 역할에 따라 다른 작업을 수행 할 수 있습니다. 예를 들어, 관리자 및 일반 사용자에 대한 권한 제어 :

if (checkpermission ( 'admin')) {
    // 관리자 작업 수행} elseif (checkpermission ( 'user')) {
    // 일반 사용자 작업 수행} else {
    // 권한 조작 없음}

사용자의 역할에 따라 시스템은 해당 작업을 수행합니다. 관리자는 더 높은 권한으로 작업을 수행 할 수 있지만 일반 사용자는 정기적 인 작업 만 수행 할 수 있습니다.

요약

위의 코드 예제를 통해 PHP 기능을 사용하여 사용자 로그인, 로그 아웃 및 다단계 역할 및 권한 관리를 구현하는 방법을 보여줍니다. 이러한 방식으로 웹 사이트 개발자는 사용자 권한을 유연하게 관리하여 시스템의 보안 및 신뢰성을 보장 할 수 있습니다.