public function dologin() { $params = Input::all(); if (empty($params['username'])) { Session::flash('error', '用户名必须填写'); return Redirect::route('login'); } if (empty($params['password'])) { Session::flash('error', '密码必须填写'); return Redirect::route('login'); } if (empty($params['captcha'])) { Session::flash('error', '验证码必须填写'); return Redirect::route('login'); } if (!$this->_validate_captcha($params['captcha'])) { Session::flash('error', '验证码错误'); return Redirect::route('login'); } $password = md5(md5($params['password'])); $admin = AdminORM::whereUsername($params['username'])->wherePwd($password)->where('status', '<>', BaseORM::DISABLE)->first(); if (!empty($admin)) { Session::flash('success', '登陆成功'); $admin_id_cookie = Cookie::forever('admin_id', $admin->id); $admin_username_cookie = Cookie::forever('admin_username', $admin->username); $k_cookie = Cookie::forever('k', Crypt::encrypt($admin->id . $admin->username)); $login_time_cookie = Cookie::forever('login_time', time()); $admin->last_login_time = date('Y-m-d H:i:s'); $admin->save(); return Redirect::route('home')->withCookie($k_cookie)->withCookie($admin_id_cookie)->withCookie($admin_username_cookie)->withCookie($login_time_cookie); } else { Session::flash('error', '用户没找到'); return Redirect::route('login'); } }
public function __construct() { if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { $this->isAjax = TRUE; } $admin_id = Cookie::get('admin_id'); $this->admin_id = $admin_id; $is_super_admin = FALSE; if ($admin_id) { $admin = AdminORM::find($admin_id); if ($admin->is_super_admin == 1) { $is_super_admin = TRUE; $this->is_super_admin = TRUE; } } View::share('g', array('is_super_admin' => $is_super_admin)); }
private function _check($params) { $msg = ''; if (empty($params['username'])) { $msg = '用户名必须填写'; } $admin = AdminORM::whereUsername($params['username'])->first(); if (isset($params['currentpwd'])) { $password = md5(md5($params['currentpwd'])); if ($password != $admin->pwd) { $msg = '当前密码不正确'; } if ($params['pwd'] != $params['confirmpwd']) { $msg = '两次密码填写不一致'; } } if (!empty($admin) && $params['id'] == 0) { $msg = '用户名重复'; } return $msg; }
$k = Cookie::get('k'); if (!$k) { return Redirect::to('/login'); } $key = Crypt::decrypt($k); if ($key != $encrypt_key) { return Redirect::to('/login'); } if (time() - $login_time >= 86400) { return Redirect::to('/login'); } }); //验证是否为超级管理员 Route::filter('is_super_admin', function () { $admin_id = Cookie::get('admin_id'); $admin = AdminORM::whereId($admin_id)->first(); if ($admin->is_super_admin != BaseORM::ENABLE) { return Redirect::route('forbidden'); } }); Route::filter('auth', function () { if (Auth::guest()) { if (Request::ajax()) { return Response::make('Unauthorized', 401); } else { return Redirect::guest('login'); } } }); Route::filter('auth.basic', function () { return Auth::basic();