56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace app\controller;
|
|
use support\Request;
|
|
use Webman\Captcha\CaptchaBuilder;
|
|
use support\View;
|
|
use Respect\Validation\Validator as v;
|
|
|
|
|
|
class login
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$msg=$request->get('msg', '');
|
|
$to=$request->get('to', '/');
|
|
View::assign('msg', $msg);
|
|
View::assign('to', $to);
|
|
return view('login');
|
|
}
|
|
|
|
public function check(Request $request)
|
|
{
|
|
$name = $request->post('name','0');
|
|
$password = $request->post('password','0');
|
|
|
|
try {
|
|
$usernameValidator->StringType()->setName('用户名')->check($name);
|
|
} catch (ValidationException $exception) {
|
|
return json(['code'=>500, 'msg'=>$e->getMessage()]);
|
|
}
|
|
try {
|
|
$usernameValidator->StringType()->setName('密码')->check($password);
|
|
} catch (ValidationException $exception) {
|
|
return json(['code'=>500, 'msg'=>$e->getMessage()]);
|
|
}
|
|
$redis = Redis::connection('default');
|
|
$userinfo=$redis->hget('User',"$name");
|
|
if($userinfo===false){
|
|
return json(['code'=>501, 'msg'=>'No Such Username']);
|
|
}
|
|
$realpass=json_decode($userinfo)->passwd;
|
|
|
|
if(hash("sha256", $realpass)==$realpass){
|
|
$session = $request->session();
|
|
$session->set('userinfo', $userinfo);
|
|
$to = $request->post('to','/admin');
|
|
return redirect("$to");
|
|
}else{
|
|
return redirect('/login?msg=账号密码错误');
|
|
}
|
|
|
|
|
|
return response('错误');
|
|
}
|
|
|
|
} |