php – Laravel 5.1 Auth :: attempt()在Composer更新后不起作用
发布时间:2020-12-14 19:37:17 所属栏目:大数据 来源:网络整理
导读:我在Laravel 5.1中的项目和我在Composer更新后无法登录 我跑之前一切都在运转 composer update 我使用的标准内置于Laravel’s register and login process AuthController.php中的函数Auth :: attempt()始终返回false. 我已经在Laravel 5.1的新项目上测试了
我在Laravel 5.1中的项目和我在Composer更新后无法登录
我跑之前一切都在运转 composer update 我使用的标准内置于Laravel’s register and login process 我已经在Laravel 5.1的新项目上测试了它,这也是同样的问题. 我收到此错误:
那些是更新的包: Updating dependencies (including require-dev) - Removing giggsey/libphonenumber-for-php (7.2.6) - Installing giggsey/libphonenumber-for-php (7.2.8) Downloading: 100% - Removing symfony/var-dumper (v2.7.10) - Installing symfony/var-dumper (v2.7.11) Downloading: 100% - Removing symfony/translation (v2.7.10) - Installing symfony/translation (v2.7.11) Downloading: 100% - Removing symfony/routing (v2.7.10) - Installing symfony/routing (v2.7.11) Downloading: 100% - Removing symfony/process (v2.7.10) - Installing symfony/process (v2.7.11) Downloading: 100% - Installing symfony/polyfill-mbstring (v1.1.1) Downloading: 100% - Removing symfony/http-foundation (v2.7.10) - Installing symfony/http-foundation (v2.7.11) Downloading: 100% - Removing symfony/event-dispatcher (v2.8.3) - Installing symfony/event-dispatcher (v2.8.4) Downloading: 100% - Removing symfony/debug (v2.7.10) - Installing symfony/debug (v2.7.11) Downloading: 100% - Removing symfony/http-kernel (v2.7.10) - Installing symfony/http-kernel (v2.7.11) Downloading: 100% - Removing symfony/finder (v2.7.10) - Installing symfony/finder (v2.7.11) Downloading: 100% - Removing symfony/dom-crawler (v2.7.10) - Installing symfony/dom-crawler (v2.7.11) Downloading: 100% - Removing symfony/css-selector (v2.7.10) - Installing symfony/css-selector (v2.7.11) Downloading: 100% - Removing symfony/console (v2.7.10) - Installing symfony/console (v2.7.11) Downloading: 100% - Removing psy/psysh (v0.7.1) - Installing psy/psysh (v0.7.2) Downloading: 100% - Removing paragonie/random_compat (v1.2.1) - Installing paragonie/random_compat (v1.4.1) Downloading: 100% - Removing monolog/monolog (1.18.0) - Installing monolog/monolog (1.18.1) Downloading: 100% - Removing league/flysystem (1.0.18) - Installing league/flysystem (1.0.20) Downloading: 100% - Removing symfony/polyfill-util (v1.1.0) - Installing symfony/polyfill-util (v1.1.1) Downloading: 100% - Removing symfony/polyfill-php56 (v1.1.0) - Installing symfony/polyfill-php56 (v1.1.1) Downloading: 100% - Removing propaganistas/laravel-phone (2.6.1) - Installing propaganistas/laravel-phone (2.7.0) Downloading: 100% - Removing symfony/yaml (v3.0.3) - Installing symfony/yaml (v3.0.4) Downloading: 100% - Removing phpunit/phpunit (4.8.23) - Installing phpunit/phpunit (4.8.24) Downloading: 100% - Removing phpspec/phpspec (2.4.1) - Installing phpspec/phpspec (2.5.0) Downloading: 100% 知道哪个包导致问题? postLogin函数(它的标准,我没有做任何更改): public function postLogin(Request $request) { $this->validate($request,[ $this->loginUsername() => 'required','password' => 'required',]); // If the class is using the ThrottlesLogins trait,we can automatically throttle // the login attempts for this application. We'll key this by the username and // the IP address of the client making these requests into this application. $throttles = $this->isUsingThrottlesLoginsTrait(); if ($throttles && $this->hasTooManyLoginAttempts($request)) { return $this->sendLockoutResponse($request); } $credentials = $this->getCredentials($request); if (Auth::attempt($credentials,$request->has('remember'))) { return $this->handleUserWasAuthenticated($request,$throttles); } // If the login attempt was unsuccessful we will increment the number of attempts // to login and redirect the user back to the login form. Of course,when this // user surpasses their maximum number of attempts they will get locked out. if ($throttles) { $this->incrementLoginAttempts($request); } return redirect($this->loginPath()) ->withInput($request->only($this->loginUsername(),'remember')) ->withErrors([ $this->loginUsername() => $this->getFailedLoginMessage(),]); } postRegister函数: public function postRegister(Request $request) { $validator = $this->validator($request->all()); if ($validator->fails()) { $this->throwValidationException( $request,$validator ); } Auth::login($this->create($request->all())); return redirect($this->redirectPath()); } 解决方法
我发现了问题!
我正在使用这个包Roles And Permissions For Laravel 5并忘记在创建时为用户设置一个具有登录权限的角色… 显然我正在使用在播种过程中创建的用户进行测试(它附加了一个角色),但当我尝试注册新用户时,问题就开始了…… $用户> attachRole($regularUserRole); /** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { $team = new Team(["name" => ""]); $regularUserRole = Role::where('slug','user')->first(); $user = User::create([ 'name' => $data['name'],'email' => $data['email'],'password' => bcrypt($data['password']),]); if ($team->save() && $regularUserRole) { $user->team()->associate($team); $user->attachRole($regularUserRole); if ($user->save()) { $team->owner()->associate($user); $team->save(); return $user; } } return false; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |