Laravel登录 – 登录成功后,不保留并返回到登录页面

huangapple go评论70阅读模式
英文:

Laravel login - After the login is successful, it does not remain and returns to the login page

问题

以下是您要翻译的代码部分:

我尝试了几种登录方式,有效的是 `Auth::login($user);`,但他无法保持登录状态,而是回到登录页面。

登录控制器:
```php
public function validateCode(Request $request)
{
    $email = $request->email;

    // 获取用户
    $user = User::where('email', $email)->first();

    if ($user->count() > 0) {
        $validateCode = $request->input('validateCode');

        // 检查验证码
        if ($validateCode == $user['codConfirm']) {
            Auth::login($user, true);

            if (Auth::check())
                return redirect()->route('home');
            else {
                dd('else');
                return redirect()->action('Auth\LoginController@index', ['validator' => ['无法登录']]);
            }
        } else {
            return view('confirmar-usuario', ['email' => $email]);
        }
    } else {
        flash('无效用户')->error();

        return view('login');
    }
}
英文:

I tried several ways to login, the one that works is Auth::login($user);, but he doesn't stay logged in, he goes back to the login page.

Login Controller:

public function validateCode(Request $request)
    {
        $email = $request->email;

        // Get user
        $user = User::where('email', $email)->first();

        
        if ($user->count() > 0) {
            $validateCode = $request->input('validateCode');
            
            // Check the codes
            if ($validateCode == $user['codConfirm']) {
                Auth::login($user, true);
                
                if(Auth::check())
                    return redirect()->route('home');
                else{
                    dd('else');
                    return redirect()->action('Auth\LoginController@index', ['validator' => ['Não foi possível fazer o login']]);
                }
            } else {
                return view('confirmar-usuario', ['email' => $email]);
            }
        } 
        else {
            flash('Usuário inválido')->error();

            return view('login');
        }
    }

I will answer my own question as I found out and the question I had thought about has been deleted. So I'm posting here to help someone.

答案1

得分: 5

没问题,问题只在于 .env 文件。有两个重要的信息必须填写正确。'SESSION_DOMAIN' 和 'APP_URL'。
URL 必须没有协议和端口,如果有的话。
例如:

APP_URL=127.0.0.1
SESSION_DOMAIN=127.0.0.1
英文:

It's all right, the issue is only the .env. There are two important pieces of information that must be filled in correctly. 'SESSION_DOMAIN' and 'APP_URL'.
The url must be without the protocol and without the port, if any.
Ex:

APP_URL=127.0.0.1
SESSION_DOMAIN=127.0.0.1

huangapple
  • 本文由 发表于 2023年3月3日 20:11:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/75626921.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定