#1 小双
我想知道详细的设置,分别在以下两种情况下:
1.没有登录
2.登录以后没有访问权限
实现判断是否可以访问相应页面的权限?如何设置钩子代码,具体在哪里设置对应代码?学习下。{:3_50:}
2010-03-15 11:16:53
#2 jake
参看此实例
http://speedphp.com/bbs/thread-142-1-1.html在index.php配置中,设置了没有权限而提示的钩子
'ext' => array( // 扩展设置
'spAcl' => array( // acl扩展设置
// 在acl中,设置无权限执行将lib_user类的acljump函数
'prompt' => array("lib_user", "acljump"), ),
)
而后,在lib_user的acljump函数中,便可以按照你想的方式去进行无权限的提示。
实例中的是:
/**
* 无权限提示及跳转
*/
public function acljump(){
// 这里直接“借用”了spController.php的代码来进行无权限提示
$url = spUrl("main","login");
echo "";
exit;
}
是直接跳转的方法。
这里可以改写一下:
public function acljump(){
$user_acl = spClass('spAcl')->get(); // 获取到当前用户的角色,如果当前用户是没有登录(没有经过spClass('spAcl')->set('角色名')),那么会返回false
// 这里就可以根据$user_acl的值进行判断了
if( "USER" == $user_acl ){ // 有USER权限的
}elseif( "MANAGER" == $user_acl ){ // 有MANAGER权限的
}else{ // 完全没权限的
}
exit; // 别漏了这个}
2010-03-15 12:11:24
#3 小双
测试成功,很棒,非常棒,茅塞顿开啊!{:3_48:}
2010-03-15 13:35:44