限制对不同用户配置文件视图的访问

时间:2013-04-29 11:31:47

标签: php web-applications yii social-networking access-control

对于社交网络样式应用程序,对用户配置文件有不同级别的访问权限,例如,完整配置文件(对于所有者),有限的配置文件(配置文件所有者朋友),无访问权限(随机用户)。

如何使用Yii框架限制对不同配置文件视图(本例中为3个)的访问?

我自己也在寻找这个,但是有一些令人困惑的选择,其中一些我不是100%肯定会适合上述行为。我怀疑这是一个noob问题,所以如果其他地方有很好的覆盖,请随意重定向我。

1 个答案:

答案 0 :(得分:0)

您必须使用他们的ID访问用户的个人资料,以便您可以检查个人资料是否是当前登录用户的个人资料,然后在UsersController actionView中可以执行

if(Yii::app()->user->isGuest){
   Yii::app()->user->loginRequired();
}
if(Yii::app()->user->id == $user_id){
    //this is something to check before showing information about the current user. 
    //you can use this variable for some specific html blocks (to show them or not).
    $user_role = '1'; //full access
}
else {
    $user_role = '0'; //partial access
}

虽然这只是一个简单的伎俩。可以有更复杂的方法来实现它。