繁体   English   中英

如何在Zend Framework中实现我的用户会话类

[英]How can I implement my user session class in Zend Framework

您好,我有一个网站,我有3个类AnonymousUser (对于未登录的Users ), Users (对于已注册的普通用户)和UsersInSession (具有会话的用户),所有这些类均从People类继承。

我从sql查询中获取用户数据,然后将正在记录的用户序列化,然后将其保存到_SESSION["objectSession"] ,当用户记录每个PHP文件时,我_SESSION["objectSession"]序列_SESSION["objectSession"] $objectSession对象。当我想在对象中获取我的好友列表时(在MySQL资源中):

$myFriends=$objectSession->getFriends();

然后我可以用这种方式打印朋友的数据:

 <table> <tr> <td>Name</td><td>Lastnames</td> </tr> <?php
 while($objectFriend=$myFriends->fetchObject("Users")){ ?> <tr> <td><?
 echo $objectFriend->name; ?></td> <td><? echo
 $objectFriend->lastnames; ?></td> <?php } ?></tr></table>

我可以使用这些类在Zend Framework中实现吗?

我不知道这些类可以是Model还是Controller。

对于此问题,您的ZF版本无关紧要,因为它更像是结构问题,而不是其他任何问题。

对于初学者,您目前有3个类在很大程度上做相同的事情。 您可以将这3个类压缩为一个具有3个(或更多)身份验证和访问级别的用户类。

使用ZF2时,可以使用以下方式进行身份验证(登录)系统: Zend \\ Authentication ,然后在应用程序确定每个用户获得的访问级别时,可以使用访问控制组件之一来控制用户可以访问哪些资源。
Zend / Permissions / Acl ,传统的基于对象的ACL。
Zend / Permissions / Rbac ,基于角色的ACL。

如果您真的不想/不需要扮演自己的解决方案的角色,则可以在ZF2模块上找到一些非常好的访问控制和身份验证解决方案

[编辑]

我可以使用这些类在Zend Framework中实现吗?

是的,尽管您可能需要重命名它们以便于实施。

我不知道这些类可以是Model还是Controller。

从您的描述来看,您的类可能包含模型,控制器,甚至可能在每个类中包含视图元素。 因此,可能需要进行一些重构。

通常,这些类主要是“域模型”类型的模型类,它们将与一个或多个要通过视图进行处理和呈现的控制器进行交互。

谢谢,也许我不是很好地问过这个问题。我对这三个类的处理方式是检查用户是否具有“特权”,例如:

-匿名用户(继承自People类)无法评论任何个人资料。

-用户(也可以从People类继承)可以评论,并拥有其个人资料和图片。每个用户都有一个隐私表,因此用户的依赖项可以评论其朋友或所有用户。此类具有checkprivacy($ iduser ),用于检查用户是否可以看到$ iduser的个人资料。 此类也具有checkBlocked($ iduserblock)函数,因为它可以检查用户是否被阻止并且看不到配置文件。

-People类(该类负责此工作)检查会话是否是匿名用户,或者是否记录了用户(已记录用户)是否被记录,我们检查是否被阻止,我们将检查他是否可以发表评论。不需要检查他是否被阻止..此类具有方法loadProfile($ id)来加载配置文件和更多问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM