我正在尝试在用户注册后自动登录。
我的用户注册方法:
public function register_user(Request $request)
{
if (!$request->ajax()) return false;
$form_rule = [
'email' => 'required|email|max:255|unique:tdshop_user_entity',
'password' => 'required|min:6',
];
$validator = Validator::make($request->all(), $form_rule);
$status = $validator->fails();
$form_errors = [];
foreach($form_rule as $field=>$rules){
$form_errors[$field] = $validator->errors()->first($field);
}
if(!$validator->fails()){
$user = User_entity::create([
'email' => $request['email'],
'password' => bcrypt($request['password']),
]);
Auth::loginUsingId($user->user_id);
}
return json_encode([
'status' => ($status)? 'fail' : 'success',
'result' => json_encode($form_errors)
]);
}
我的用户实体模型:
namespace App;
//use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Zizaco\Entrust\Traits\EntrustUserTrait;
use Eloquent;
class User_entity extends Eloquent
{
use Notifiable;
use EntrustUserTrait;
protected $table = 'tdshop_user_entity';
protected $primaryKey = 'user_id';
protected $fillable = ['email','password','status'];
protected $hidden = ['password', 'remember_token'];
public function Attribute_set()
{
return $this->hasOne('App\Attribute_set');
}
public function Attribute_entity()
{
return $this->hasMany('App\Attribute_entity');
}
public function User_address_entity()
{
return $this->hasMany('App\User_address_entity');
}
}
用户注册成功并记录在数据库中。但要登录,将显示以下错误:
SessionGuard中的ErrorException。php第407行:传递给illumb\Auth\SessionGuard::login()的参数1必须是illumb\Contracts\Auth\authenticable的实例,给定的App\User\u实体的实例,在/home/ali/www/brandmashhoor/vendor/laravel/framework/src/illumb/Auth/SessionGuard中调用。第392行的php,已定义
谁能告诉我正确的问题是什么。
在RegisterController中,您可以在注册后使用以下代码登录。
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Response;
if ($validator->passes()) {
// Store your user in database
event(new Registered($user = $this->create($request->all())));
return response(['success' => true,'redirect' => 'dashboard'], Response::HTTP_OK);
}
而不是返回响应(['success'=
使用下面。
Auth::login($user);
return response(['success' => true,'redirect' => 'dashboard'], Response::HTTP_OK);
您必须扩展User_entity才能使登录起作用。在默认的User
模型中,它被别名为有身份验证的
。
目前,您正在扩展Eloquent
,但是可验证的
扩展了Illumate\Database\Eloquent\Model
,它将为您处理这些问题。
在您的User\u实体中尝试以下操作:
use Illuminate\Foundation\Auth\User as Authenticatable;
class User_entity extends Authenticatable
{
....
问题内容: 我想要在spring成功注册后自动登录:我有一个受保护的页面,需要登录才能访问它们,我要在注册后跳过登录页面并进行自动登录,以便用户可以看到受保护的页面有我吗?我正在使用spring 3.0,spring security 3.0.2,该怎么做? 问题答案: 可以通过以下方式(半伪代码)通过spring安全性完成此操作: 更新:仅包含注册后如何创建会话
我使用的是AWS Cognito的JavaScript SDK(http://docs.AWS.amazon.com/Cognito/latest/developerGuide/using-amazon-cognito-user-identity-pools-javascript-examples.html)。
问题内容: 这是我目前用于注册的内容: 是否可以不要求用户在创建帐户后手动登录,而是简单地自动登录?谢谢。 编辑:我曾尝试过login()函数,但没有成功。我相信问题是未设置AUTHENTICATION_BACKENDS。 问题答案: 使用authenticate()和login()功能:
本文向大家介绍Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册,包括了Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册的使用技巧和注意事项,需要的朋友参考一下 动态验证:(不需要建Model模型) 1.建一个控制器,做表单操作(包含验证) 2.对应控制器方法的html页面: ajax:(不需要建Model模型) 1.建一个控制器,做表单操作(包含验证) 2.
在我的Spring Boot MVC应用程序中,我使用Spring Security提供身份验证和用户注册。用户的身份验证和注册工作正常,但创建用户帐户后,我想自动登录他。当我这么做的时候,我收到了坏消息。此具有相同凭据的用户通常使用登录表单正确登录。谢谢你的帮助。下面是我的代码: 来自控制器的方法 SecurityServiceImpl(方法验证正在抛出异常) UserServiceImpl U
问题内容: 我们正在Symfony 2中从头开始构建一个业务应用程序,我在用户注册流程上遇到了一些麻烦:用户创建帐户后,应该使用这些凭据自动登录。立即被迫再次提供其凭据。 任何人都对此有任何经验,或者能够为我指明正确的方向? 问题答案: Symfony 4.0 此过程尚未从symfony 3更改为4,但是这里是使用新推荐的AbstractController的示例。无论是和服务注册在父方法,所以你