可以实现用火车采集器发布时,不需要登陆DEDE后台,特别适合无人值守发布更新。
本方法适用于DEDE所有模型和模块,所有发布模块仅需要添加一处配置参数即可。
实现步骤如下:
- 取消DEDE未登陆时出现的登陆提示
- 自动登陆DEDE
修改一处DEDE的代码,为DEDE程序管理员目录的config.php,默认路径为dede/config.php,代码如下:
//检验用户登录状态
$cuserLogin = new userLogin();
if($cuserLogin->getUserID()==-1)
{
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();
}
}
这段代码的作用是在检测到用户未登陆时,尝试使用页面传递过来的参数进行登陆,如果登陆成功,则保存用户的信息并进行其它操作;如果登陆失败,就引导用户进入登陆页面。
这段代码修改完成,接下来要修改火车采集器的发布模块了。
改发布模块,只需要在发布模块中添加登陆的用户名和密码信息,修改如图: