我有一个用户个人资料页面,其中包含以下网址:www.XXXXXXX.com/userid/45
当用户将/ userid / 45更改为/ userid / 47时,有没有办法阻止访问其他页面
答案 0 :(得分:0)
根据您使用的语言,在用户个人资料页面上显示以下内容:
if url_segment(2) != user_info['userid']
render no_permission
end
答案 1 :(得分:0)
你可能想看一下Zend_Acl。
http://framework.zend.com/manual/en/zend.acl.introduction.html
这将允许您根据发出请求的角色的指定权限来控制对某些资源(例如配置文件)的访问。您还可以使用断言指定更细粒度的访问。
因此,例如,您为在您的网站上注册的用户指定了“已注册”角色,该用户也将拥有个人资料页面。您的规则可能如下所示: -
'已注册'可以'显示''个人资料''如果是他们的个人资料'。
角色:'已注册'
特权:'显示'
资源:'个人资料'
断言:检查所有权的代码
答案 2 :(得分:0)
我在wordpress中寻找这个,只有在发布我的答案之后我才意识到你在询问除了wordpress之外的其他东西......哦,对于那些犯同样错误的人来说,这是同样的事情,但对于WordPress的:
您可以通过将==
更改为!=
并仅输入管理员ID(通常为“1”)来对其进行修改以使其重定向所有用户而非仅一个用户。
add_action('admin_init', 'redirect_to_forum');
function redirect_to_forum(){
$current_user=wp_get_current_user();
if($current_user->user_id == "47"){
header('Location: http://somewhereelse.com');
}
}