![](/img/trans.png)
[英]How to get user ID from the profile page and plug into id= in shortcode
[英]prevent access to user profile page from user id
我有一个具有以下网址的用户个人资料页面:www.XXXXXXX.com/userid/45
当用户将/ userid / 45更改为/ userid / 47时,是否有一种方法可以防止访问其他页面
根据您使用的语言,在用户个人资料页面上类似以下内容:
if url_segment(2) != user_info['userid']
render no_permission
end
您可能要看一下Zend_Acl。
http://framework.zend.com/manual/zh/zend.acl.introduction.html
这将允许您基于发出请求的角色的分配特权来控制对某些资源(例如,配置文件)的访问。 您还可以使用断言指定更细粒度的访问。
因此,举例来说,您为在您网站上注册的用户指定了“注册”角色,该用户也将拥有个人资料页面。 您的规则可能如下所示:-
“已注册”可以“显示”“个人资料”“如果是他们的个人资料”。
角色:“注册”
权限:“展示”
资源:“个人资料”
断言:检查所有权的代码
我一直在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');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.