session_start(); // Will create a cookie named PHPSESSID with the session token
创建会话后,可以在其上保存数据。例如,如果希望保持用户的日志记录:
// If username and password match, you can just save the user id on the session
$_SESSION['userID'] = 123;
现在您可以检查用户是否通过了身份验证:
if ($_SESSION['userID'])
echo 'user is authenticated';
else
echo 'user isn't authenticated';
如果需要,可以只为经过身份验证的用户创建会话:
if (verifyAccountInformation($user,$pass)){ // Check user credentials
// Will create a cookie named PHPSESSID with the session token
session_start();
$_SESSION['userID'] = 123;
}
对于真实的用户,无论是 Web 应用程序还是 API,都有很多种方法。有几个标准,或者您可以编写自己的自定义授权/和或身份验证。我想指出授权和身份验证之间的区别。首先,应用程序需要验证请求来自的用户(或 api 客户机)。一旦用户经过身份验证,基于用户的身份应用程序需要确定哪个经过身份验证的用户具有执行某个应用程序(授权)的权限。对于大多数传统的 Web 应用程序来说,安全模型没有很好的粒度,所以一旦用户被认证,它在大多数情况下也被授权执行某些操作。但是,这两个概念(身份验证和授权)应该是两种不同的逻辑操作。