웹 사이트를 개발할 때 사용자 로그인 및 로그 아웃은 필수 불가능한 기능입니다. 웹 사이트가 계속 확장됨에 따라 사용자 역할 및 권한의 정제 된 관리를 달성하는 것이 특히 중요합니다. 이 기사는 PHP 기능을 통해 사용자 로그인 및 로그 아웃 기능을 구현하는 방법을 자세히 소개하고 다른 사용자가 해당 작업 권한을 갖도록하기 위해 다단계 역할 및 권한 관리로 확장합니다.
먼저 사용자 이름, 암호, 역할 및 생성 시간을 포함하여 사용자 정보를 저장하기 위해 데이터베이스 테이블을 작성해야합니다. 다음은 사용자 테이블의 데이터베이스 구조입니다.
테이블 사용자 만들기 ( id int (11) auto_increment 기본 키, username varchar (100) NOT NULL, 비밀번호 varchar (100) null, 역할 varchar (50) null, created_at timestamp default current_timestamp );
이 테이블 구조에서 :
다음으로 사용자의 로그인 기능을 구현하기 위해 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 에 저장됩니다.
다음은 Session_Unset () 및 Session_Destroy ()를 사용하여 현재 세션을 파괴하는 사용자가 로그 아웃하는 PHP 코드입니다.
함수 로그 아웃 () { // 세션을 파괴합니다 session_unset (); Session_Destroy (); }
이 코드를 통해 사용자는 세션에서 성공적으로 로그 아웃하고 로그인 상태에서 로그 아웃 할 수 있습니다.
로그인 및 로그 아웃 기능을 기반으로 다단계 역할 및 권한 제어를 추가하도록 더 확장 할 수 있습니다. 사용자 권한을 확인하는 기능은 다음과 같습니다.
함수 checkpermission ($ impledrole) { if (isset ($ _ session [ 'role']) && $ _session [ 'role'] == $ imreedrole) { 진실을 반환하십시오. } 거짓을 반환합니다. }
이 기능은 현재 사용자의 역할이 필요한 역할을 충족하는지 여부를 확인합니다. 일치하는 경우 True 를 반환합니다. 그렇지 않으면 거짓을 반환하십시오.
다음으로 다른 역할에 따라 다른 작업을 수행 할 수 있습니다. 예를 들어, 관리자 및 일반 사용자에 대한 권한 제어 :
if (checkpermission ( 'admin')) { // 관리자 작업 수행} elseif (checkpermission ( 'user')) { // 일반 사용자 작업 수행} else { // 권한 조작 없음}
사용자의 역할에 따라 시스템은 해당 작업을 수행합니다. 관리자는 더 높은 권한으로 작업을 수행 할 수 있지만 일반 사용자는 정기적 인 작업 만 수행 할 수 있습니다.
위의 코드 예제를 통해 PHP 기능을 사용하여 사용자 로그인, 로그 아웃 및 다단계 역할 및 권한 관리를 구현하는 방법을 보여줍니다. 이러한 방식으로 웹 사이트 개발자는 사용자 권한을 유연하게 관리하여 시스템의 보안 및 신뢰성을 보장 할 수 있습니다.