本方法适用于DEDE所有模型和模块,所有发布模块仅需要添加一处配置参数即可。
实现步骤如下:
取消DEDE未登陆时出现的登陆提示
自动登陆DEDE
修改一处DEDE的代码,为DEDE程序管理员目录的config.php,默认路径为dede/config.php,代码如下:
//检验用户登录状态
$cuserLogin = new userLogin();
if($cuserLogin->getUserID()==-1)
{
if ( preg_match("#PHP (.*) Development Server#",$_SERVER['SERVER_SOFTWARE']) )
{
$dirname = dirname($_SERVER['SCRIPT_NAME']);
header("location:{$dirname}/login.php?gotopage=".urlencode($dedeNowurl));
} else {
header("location:login.php?gotopage=".urlencode($dedeNowurl));
}
exit();
}
这段代码的作用是如果未检测到用户的登陆信息,就引导用户进入登陆过程,修改如下:
//检验用户登录状态
$cuserLogin = new userLogin();
if($cuserLogin->getUserID()==-1)
{
if($my_u != ''){
$res = $cuserLogin->checkUser($my_u, $my_p);
if($res==1) $cuserLogin->keepUser();
}
if($cuserLogin->getUserID()==-1)
{
header("location:login.php?gotopage=".urlencode($dedeNowurl));
exit();
}
}
这段代码的作用是在检测到用户未登陆时,尝试使用页面传递过来的参数进行登陆,如果登陆成功,则保存用户的信息并进行其它操作;如果登陆失败,就引导用户进入登陆页面。
这段代码修改完成,接下来要修改火车采集器的发布模块了。
修改发布模块,只需要在发布模块中添加登陆的用户名和密码信息,修改如图:
/catalog_do.php?dopost=GetSunLists&my_u=52csw&my_p=admin