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