我使用 MyAuth 捆绑包作为我的身份验证平台。一切都很好,除了我想登录时遇到问题。它一直告诉我输入了错误的用户名或密码。但是我注册没有问题。
这是登录控制器(user.php):
public function action_login(){
// get login POST data
$userdata = array(
'username' => Input::get('email'),
'password' => Input::get('password')
);
if ( Auth::attempt($userdata) ){
// we are now logged in, go to dashboard
if(Config::get('myauth::config.login_redirect') != ''){
$redirect_url = Config::get('myauth::config.login_redirect');
} else {
$redirect_url = Config::get('myauth::config.bundle_route') . '/dashboard';
}
return Redirect::to($redirect_url);
} else {
// auth failure! redirect to login with errors
$redirect_url = Config::get('myauth::config.bundle_route') . '/' . Config::get('myauth::config.login_route');
return Redirect::to($redirect_url)->with('notification', 'Incorrect login or password');
}
}
这是我的看法:
{{ Form::open(Config::get('myauth::config.bundle_route') . '/' . Config::get('myauth::config.login_route')) }}
<!-- check for login errors flash var -->
@if (Session::has('notification'))
<span class="notification">{{ Session::get('notification') }}</span>
@endif
<!-- email field -->
<p>{{ Form::label('email', 'Email') }}</p>
<p>{{ Form::text('email') }}</p>
<!-- password field -->
<p>{{ Form::label('password', 'Password') }}</p>
<p>{{ Form::password('password') }}</p>
<!-- submit button -->
<p>{{ Form::submit('Login') }}</p>
{{ Form::close() }}
这是我的 auth.php:
return array(
'driver' => 'eloquent',
'username' => 'username',
'password' => 'password',
'model' => 'User',
'table' => 'users',
);
和数据库:
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(200) NOT NULL,
`email` varchar(200) NOT NULL,
`password` varchar(200) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
我在 Laravel 论坛上问过这个问题,但仍然找不到任何答案。varchar 编号或变量有什么问题吗?
我从不更改任何其他设置。有人可以找出这段代码中的问题吗?谢谢