0

我使用 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 编号或变量有什么问题吗?

我从不更改任何其他设置。有人可以找出这段代码中的问题吗?谢谢

4

0 回答 0