我正在做一个Laravel项目。我不是最初的开发人员,所以如果我犯了一个错误,请原谅我并解释它的含义。
在这个项目中,我们有一个模块来请求新密码。提交表单后,用户将被重定向到route('password.request')
,我认为这是隐藏在框架中的某个位置。
问题在于,当用户获得新密码时,他将自动登录并可以访问页面。但是他不应该这样做,因为他没有管理员权限。
因此,我尝试注销用户并将其重定向到主页,但没有任何运气。
有人可以解释为什么laravel(或“我”,因为它们是我尚未探索的项目的某些部分)为什么这样做以及如何解决此问题?
reset.blade.php(用于请求新密码的表单)
form class="form-horizontal" role="form" method="POST" action="{{ route('password.request') }}">
{{ csrf_field() }}
<input type="hidden" name="token" value="{{ $token }}">
....
我的自定义登出路线:
Route::get('/customLogout', 'Auth\LoginController@customLogout');
resetPasswordController.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/customLogout';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
}
LoginController.php中的方法
public function customLogout(){
//Session::flush();
return redirect()->route('/');
}
参考方案
好的,我(最终)找到了一种方法。
我重写了名为“ resetPassword”的函数,并删除了登录代码。
此函数来自框架(如果有人可以帮助该文件,则不记得该文件了:S)
我在ResetPasswordController.php中覆盖了该函数
protected function resetPassword($user, $password)
{
$user->forceFill([
'password' => bcrypt($password),
'remember_token' => Str::random(60),
])->save();
//$this->guard()->login($user);
}
这使我的密码更改并自动重定向到主页。
编辑:哦,别忘了在您的include中添加它:
use Illuminate\Support\Str;
PHP:将数组值加在一起 - php我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…