[英]Laravel - login for auth with Eloquent
我的Laravel是全新安装。
routes.php文件
Route::get('/', 'MainController@idle');
Route::get('login', 'MainController@login');
Route::get('call', 'MainController@call')->before('auth');
MainController.php
class MainController extends Controller {
public function idle() {
return Response::json('idle');
}
public function login() {
$user = array(
'username' => Input::get('username'),
'password' => Input::get('password')
);
if (Auth::attempt($user)) {
return Redirect::intended();
} else {
return Redirect::route('login');
}
}
public function call() {
$users = User::all();
return $users;
}
}
filters.php
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::guest('login');
});
要求:
http://l0calhost/survey/public/login
InvalidArgumentException
Route [login] not defined.
为什么说它没有定义?
是的,因为您添加了AUTH过滤器
Route::get('call', array('before' => 'auth', 'uses' => 'MainController@call'));
Laravel会假设您有路线
Route::get('login', ...);
您将在filters.php
文件中找到类似的内容,然后可以将其更改为最适合您的内容:
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::guest('login');
});
您还必须命名路线:
Route::get('login', array('as' = 'login', 'use' => 'MainController@login'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.