所以我想弄清楚如何做到这一点,我正在学习如何使用Laravel以及尝试使用它进行客户项目(只有这样我才能学习......)。客户请求以下内容:
现在,我一直在尝试研究如何使用随机用户名和密码,我只需使用str_random()
,使用auth::attempt
来记录用户,但我迷路了关于如何创建一个会话,如果他没有。我知道filters
可以帮助我,我只是想不出来。我可以在这里提一些建议吗?如果我用来使用控制器,会是什么样的例子?
答案 0 :(得分:1)
假设您已正确创建了包含所需列的“用户”表。您可以使用Laravel的内置身份验证系统来检查用户是否已登录。在您的情况下,听起来好像用户没有登录,您想继续创建一个随机用户并使用它登录。这是一个注释代码示例,可以帮助您。
就会话而言,如果您使用Laravel的内置身份验证......您根本不必担心会话,Laravel会为您处理所有内容。
修改强>
这一切都将在控制器中完成。
<?php
// First ask Laravel if the user is logged in.
if (Auth::guest())
{
// If not, let's create a new user, save it, then log in with that newly created user.
$newUser = new User;
$newUser->username = str_random();
$newUser->password = Hash::make(str_random());
$newUser->save();
// This login() function allows us to just login someone in without any hassle.
// If you were collecting and checking login credentials, that's when you would use attempt()
Auth::login($newUser)
}
else
{
// He is already logged in. You can then access his user information like so...
$user = Auth::user();
$user->username; // Would return his username.
}
// At this point, the user is defintely logged in one way or another. So we can then send the view as normal.
return View::make('members.home');