【问题标题】:Laravel 4: users authentication (static)Laravel 4:用户身份验证(静态)
【发布时间】:2014-09-07 22:30:26
【问题描述】:

我依靠 API 来验证登录用户的用户名和密码,

如何在不检查 Laravel DB 的情况下验证用户登录? (像静态的)

if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
    return Redirect::intended('dashboard');
}

问题是 Auth::attempt 自动检查 Laravel DB,

我需要像这样验证它:

if($email == $input_email && $password == $input_password)
{
  //login
}

【问题讨论】:

  • 如果您不查看数据库,您还指望如何实际检查用户名和密码?
  • 我将使用 API 验证用户名和密码(假设我在变量中只有正确的用户名和密码)

标签: php login laravel laravel-4


【解决方案1】:

如果您通过 API 知道用户名/密码是正确的 - you can manually log in a user

$user = User::where('email', $email)->first();
Auth::login($user);

这种方式你不需要提供用户名/密码 - Laravel 只会为你登录用户。

编辑:如果您没有用户表 - 我认为这样的事情会起作用

$user = new User;
$user->email = $email;
Auth::login($user);

【讨论】:

  • User::find(1)有什么用;为什么要传递“1”?
  • 你把“1”改成你想登录的任何用户的ID
  • 所以我可以将 (email, user_id, ...) 传递给 User::where() 以将其存储在 cookie 中?
  • no - User::where() 只是选择要登录的 正确 用户。一旦他们登录,您只需像往常一样添加 cookie。跨度>
  • 好的 - 我再次编辑了我的答案。您可以创建一个用户模型,然后您可以创建用户对象来登录。
猜你喜欢
  • 2013-09-11
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 2012-08-24
  • 2013-06-16
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
相关资源
最近更新 更多