我试图在用户登录时显示一个按钮。如果用户未登录,则该按钮将不会显示在页面上。因此,我需要做的第一件事就是确定用户是否已登录。问题是,Auth :: check()始终返回null。我已经做过研究,我们应该将路由放入Auth中间件中,但是这样做的话,用户将不得不登录才能看到该页面,而我不希望那样。我希望用户无需登录即可看到该页面,并且当他们登录时,一个按钮将出现在同一页面上。
组件
<button v-if="showBtnDelete==true" class="btn btn-danger">Delete</button>
<script>
getUserType(){
axios.get('api/gallery/getUserType').then(res=>{
this.showBtnDelete = res.data;});
},
</script>
控制器
public function getUserType()
{
if(Auth::check()){
return 'true';
}else{
return 'false';
}
}
Web.php
Route::group(['middleware' => ['auth']],function(){
Route::get('/add-image', function () {return view('layouts.master');});
});
Auth::routes();
Route::get('/logout','Auth\LoginController@logout');
Route::get('/', function () {
return view('home');
});
Route::get('{path?}', function () {
return view('layouts.master');
})->where('path', '[\/\w\.-]*');
答案 0 :(得分:1)
guard API或网络
INFO:discord.player:Preparing to terminate ffmpeg process 21972.
INFO:discord.player:ffmpeg process 21972 successfully terminated with return code of 1.
答案 1 :(得分:0)
您将返回'true'
和'false'
作为字符串,当未严格比较时,它们都返回true
,而严格比较时,它们都返回false
echo 'false' == true; // true
echo 'false' === true; // false (not same data type)
反之亦然...
现在Auth::check()
自然返回一个布尔值,因此if,else语句都是多余的...
您可以在需要时使用帮助程序方法来使用每个防护程序
public function getUserType()
{
return auth()->check();
}