PHP OOP:Authenticator Class的工作,通过会话检索当前用户?

时间:2012-05-09 01:50:20

标签: php oop

我正在重新组织应用程序。

在我的应用程序开始时,我需要初始化一个对象来代表当前用户。我正在计划一个身份验证类来处理登录和注销,我想知道用户ID和数据库检索的初始会话变量检查是否适合这个类,或者是否有标准协议?

由于

2 个答案:

答案 0 :(得分:0)

嗯,当然。首先检查用户ID 的会话变量是正确的做法。

无论使用何种身份验证,您都必须检查某人是否已登录。它甚至不复杂。最简单的用法:

if(isset($_SESSION['logged_status']) && $_SESSION['logged_status'] ==1) {
    $this -> logged = true;
}

但是,作为会话变量的数据库检索部分并不像您希望的那样安全。虽然,缓存记录可以存储在会话中而没有任何风险。

答案 1 :(得分:0)

通常,我这样做的方法是创建一个通用的WebUser类。这个calss基本上是会话的模型。因此,每次应用程序运行时,都会创建一个实例。然后在那个类别上使用signIn / signOutisAuthenticated和其他东西。然后,该类与模型进行交互以进行身份​​验证,该模型还返回User实体的某些属性(如user_id)以供稍后使用。虽然我通常也直接在WebUser类上为User实体提供便利。