怎么在执行操作前进行判断是否已经登录或者有权限啊?

#1 yuanjianhua

怎么在执行一个操作前进行判断是否已经登录或者有权限啊?


我的代码如下,谁能帮我指点下,谢谢!

require("config.php");//引用公有的配置类
$spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");

$spConfig['ext'] = array('spAcl' => array('prompt' => array("lib_member", "checkLogin")));//这一句没有执行操作!该怎么写!!

require(SP_PATH."/SpeedPHP.php");
spRun();

//测试方法如下
public function checkLogin(){
        echo "sss";
        if($_SESSION['admin']==""){
            $this->display('admin/login.html');
        }
    }

2010-06-03 01:19:21

#2 jake

这里使用acl类,有两个设置的地方,一个是launch设置开启acl的权限检查,另一个是ext设置acl的提示及检查程序:

        'launch' => array(
                 'router_prefilter' => array(
                        array('spAcl','mincheck') // 开启有限的权限控制
                        // array('spAcl','maxcheck') // 开启强制的权限控制
                 )
         ),
         'ext' => array( // 扩展设置
                 'spAcl' => array( // acl扩展设置
                          
                         // 在acl中,设置无权限执行将lib_user类的acljump函数
                         'prompt' => array("lib_user", "acljump"),
                 ),
         )

2010-06-03 08:57:26

#3 yuanjianhua

回复 2 jake


    如果我只验证是否登录,那怎么写?

2010-06-03 09:29:08

#4 jake


require(SP_PATH."/SpeedPHP.php");
// 中间
spRun();
的中间,加入检查是否登录的代码,如果没有登录,你可以对
$__controller和$__action赋值,那么框架会根据这两个变量来执行的,比如说
$__controller = 'admin';
$__action = 'login';

2010-06-03 09:47:20

#5 yuanjianhua

哦,明白,晚上回去试试

2010-06-03 10:32:34