How to use PHP functions to implement single sign-on and permission verification for user login and logout?
With the development of the Internet, more and more websites or applications require users to log in to obtain more personalized services or improve user experience. For multiple websites or applications, if each requires separate login and permission verification, it will cause inconvenience to users. Therefore, the concept of Single Sign-On (SSO) came into being. This article will introduce how to use PHP functions to implement single sign-on and permission verification, and provide corresponding code examples.
<?php session_start(); // 开启SESSION // 用户登录操作 function userLogin($username, $password) { // 根据用户名和密码判断用户是否合法 if ($username === 'admin' && $password === 'password') { $_SESSION['username'] = $username; // 将用户名存储到SESSION中 return true; } else { return false; } } // 用户注销操作 function userLogout() { unset($_SESSION['username']); // 从SESSION中删除用户名 session_destroy(); // 销毁SESSION return true; } ?>
<?php session_start(); // 开启SESSION // 用户登录操作 function userLogin($username, $password) { // 根据用户名和密码判断用户是否合法 if ($username === 'admin' && $password === 'password') { $_SESSION['username'] = $username; // 将用户名存储到SESSION中 // 将会话ID存储到Cookie中,设置过期时间为7天 setcookie('session_id', session_id(), time()+7*24*60*60, '/', 'sso.example.com'); return true; } else { return false; } } // 用户注销操作 function userLogout() { unset($_SESSION['username']); // 从SESSION中删除用户名 session_destroy(); // 销毁SESSION // 删除存储在Cookie中的会话ID setcookie('session_id', '', time()-1, '/', 'sso.example.com'); return true; } ?>
In the above example, the setcookie()
function is used to set Cookie. Parameter session_id
specifies the name of the cookie, session_id()
function returns the ID of the current session, time() 7*24*60*60
is used to set the expiration time is 7 days, '/'
means that the cookie is available in the root directory of the website, 'sso.example.com'
means that the cookie is available for the example.com
domain name All hosts under.
<?php session_start(); // 开启SESSION // 验证用户是否已登录 function isUserLoggedIn() { // 判断SESSION中是否存储了用户名 return isset($_SESSION['username']); } // 验证用户是否拥有某个权限 function hasPermission($permission) { // 根据用户名查询用户权限表,判断用户是否拥有该权限 $userPermissions = ['view', 'edit', 'delete']; return in_array($permission, $userPermissions); } ?>
In the above example, the isUserLoggedIn()
function determines whether the user name is stored in the SESSION and is used to verify whether the user is logged in . hasPermission($permission)
The function queries the user permission table based on the user name to determine whether the user has a certain permission.
Summary:
Single sign-on is to provide users with a convenient login and permission verification method. Using PHP functions to implement single sign-on and permission verification can avoid repeated operations and improve development efficiency. This article provides sample code for user login and logout, and introduces how to use SESSION, Cookie, and PHP functions to implement single sign-on and permission verification. Developers can modify and expand it according to actual needs to achieve a more powerful user management system.
The above is the detailed content of How to use PHP functions to implement single sign-on and permission verification for user login and logout?. For more information, please follow other related articles on the PHP Chinese website!