101 lines
3.7 KiB
PHP
101 lines
3.7 KiB
PHP
<?php
|
|
namespace Admin\Controller;
|
|
use Think\Controller;
|
|
class PublicController extends Controller {
|
|
public function login(){
|
|
if(IS_POST){
|
|
$captcha = I('post.captcha','');
|
|
$verify = new \Think\Verify();
|
|
if($verify->check($captcha)){
|
|
$info=$this->checkNamePwd(I('post.user_name'),I('post.user_password'));
|
|
if(!$info){
|
|
$this->loginLog(0,0);
|
|
$this->error("用户名或密码错误");
|
|
}elseif(!$info[status]){
|
|
$this->error("账户被禁用");
|
|
}elseif(!$info[is_admin]){
|
|
$this->error("非法登陆");
|
|
}else{
|
|
//登录成功
|
|
$this->loginLog($info['user_id'],1);
|
|
//设置session
|
|
session("user_id",$info['user_id']);
|
|
session("is_admin",$info['is_admin']);
|
|
session("user_name",$info['user_name']);
|
|
session("last_login_time",$info['last_login_time']);//上次登陆时间
|
|
//保存rule对应的栏目id到session里
|
|
$role_user=M("role_user")->where(array("user_id"=>$info["user_id"]))->select();
|
|
foreach($role_user as $v){
|
|
$roleData=M("role")->find($v["role_id"]);
|
|
$role[info_checked].=$roleData[info_checked];
|
|
$role[info_view].=$roleData[info_view];
|
|
$role[info_add].=$roleData[info_add];
|
|
$role[info_editor].=$roleData[info_editor];
|
|
$role[info_delete].=$roleData[info_delete];
|
|
}
|
|
session("role",$role);
|
|
//记录最后的登陆信息
|
|
$up_arr=array(
|
|
"last_login_ip"=>get_client_ip(),
|
|
"last_login_time"=>time(),
|
|
"login_num"=>$info['login_num']+1,
|
|
"user_id"=>$info['user_id'],
|
|
);
|
|
M("user")->save($up_arr);
|
|
//
|
|
//
|
|
$this->success(U("Task/index"));
|
|
}
|
|
}else{
|
|
$this->error("验证码错误");
|
|
}
|
|
}else{
|
|
$this->display();
|
|
}
|
|
}
|
|
//
|
|
final private function checkNamePwd($name,$pwd){
|
|
$info=M("user")->where(array("user_name"=>$name))->find();
|
|
if($info){
|
|
$md6_pwd=md6($pwd);//自定义md6加密
|
|
if($info['user_password']==$md6_pwd){
|
|
return $info;
|
|
}else{
|
|
return false;
|
|
}
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
//验证码
|
|
public function veryfyImg(){
|
|
$Verify = new \Think\Verify();
|
|
$Verify->fontSize = 25;
|
|
$Verify->length = 4;
|
|
$Verify->useNoise = false;
|
|
$Verify->codeSet = '0123456789';
|
|
$Verify->imageW = 250;
|
|
$Verify->imageH = 62;
|
|
$Verify->entry();
|
|
}
|
|
//退出登陆
|
|
function logout(){
|
|
session_destroy();
|
|
$this->redirect('login');
|
|
}
|
|
//百度编辑器
|
|
public function ueditor(){
|
|
$data = new \Org\Util\Ueditor();
|
|
echo $data->output();
|
|
exit;
|
|
}
|
|
//登录日志
|
|
public function loginLog($userid=0,$status){
|
|
$data["userid"]=$userid;
|
|
$data["username"]=I('post.user_name');
|
|
$data["addtime"]=time();
|
|
$data["status"]=$status;
|
|
$data["ip"]=get_client_ip();
|
|
M("user_login_log")->add($data);
|
|
}
|
|
} |