我想限制对用户个人资料的某些元素的访问权限,以便只有用户才能看到他们而不是其他登录用户。到目前为止,is_logged_in函数(见下文)工作正常,现在我需要对其进行优化,使其仅限于登录的特定用户。
我已经在会话数据中包含了一个user_id变量,因此可供使用。
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if($is_logged_in)
{
$this->index();
}
else
{
redirect('fooview');
}
}
答案 0 :(得分:1)
您需要知道您正在查看的个人资料的user_id,我们假设您在控制器中将其视为$user_id
。
在您的控制器中,您可以执行$is_owner = $this->session->userdata('user_id') == $user_id ? true : false;
然后将其传递给您的视图,例如$is_owner
。
然后在你看来只需
if($is_owner){
//show stuff
} else {
//message saying stuff is private!
}