用content access模块我原以为是对某个content type定义访问权限,比如定义一个 ContentType1,使用 if (user_access('ContentType1 nodes')) { } 可以判定是否有权限访问此网页,后来发现不好用。
另外,$user->roles 是保存一个用户所有角色的数组,比如,一个用户M, 有两个角色,authenticated user, administrator,rid值分别是2 和3 --- 在表pref_role里可以查看用户角色的rid值。那么,
$rids = array_keys($user->roles);
print_r($rids);
运行结果为:
Array ( [0] => 2 [1] =>3 )
后来用这句话来定义某特定页的权限:
$rids = array_keys($user->roles); //关于角色
print_r($rids);
$page_role = 4; //可访问此页的角色rid
if( in_array($page_role, $rids) || $user->uid == Ƈ') {}
$user->uid == Ƈ' 判定是否是超级管理员。