【发布时间】:2017-02-13 22:58:20
【问题描述】:
我使用 laravel 5.3 创建了一个应用程序,它在 localhost 上运行良好,但是在我将所有代码上传到服务器后,我遇到了这个错误:
Symfony\Component\HttpKernel\Exception\HttpException in /home/project/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php line 133: This action is unauthorized.
当我尝试使用 post 在我的控制器中调用函数时,就会发生这种情况。
这是一个例子:
路线
Route::group(['middleware' => 'auth'], function () {
Route::group(['middleware' => 'admin'], function () {
Route::post('admin/store/', 'Admin\AnnouncementController@store');
});
});
控制器
protected function store(AnnouncementRequest $request) {
return Auth::user()->id;
}
我该如何解决这个问题?为什么我的本地主机上没有发生这种情况?
提前致谢。
【问题讨论】:
-
我不确定为什么你的控制器的函数有
protected访问修饰符。尝试将其更改为公开,看看会发生什么。对我来说,某些东西在本地工作但不能在远程主机 9/10 上工作的原因也是缓存(尝试 php artisan cache:clear local 看看它是否仍然有效)。 -
您好,和平人,感谢您的回复,但以上都不适合我。
-
根据我的研究,
This action is unauthorized.在您尝试访问您没有足够权限访问的资源时出现。您的自定义请求 (AnnouncementRequest) 中发生的事情是您从授权方法返回 false。 -
我相信你也是。如您所见,我确实在标识为管理员的中间件中进行了发布操作。问题是,我试图将其公开,但仍然遇到同样的错误。
标签: php laravel laravel-5.3