使用zizaco entruest rbac和 这些是导致错误的网络路线
Route::group(['prefix' => 'user-management', 'middleware' => ['permission:admin']], function() {
Route::get('/users', function(){
return "sds";
});
});
当我尝试导航到
时http://localhost:8000/user-management/users
收到错误
Symfony \ Component \ HttpKernel \ Exception \ HttpException
No message
我哪里错了
我评论了所有其他路线并发现这是罪魁祸首
我按照解释
设置了我的rbachttps://github.com/Zizaco/entrust
答案 0 :(得分:7)
您应该在403.blade.php
目录下创建resources/views/errors
模板视图
您的应用程序的异常处理程序找不到与异常状态代码关联的视图,因此它直接返回异常。
答案 1 :(得分:4)
您需要在private boolean isVideoHaveAudioTrack(String path) {
boolean audioTrack =false;
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(path);
String hasAudioStr = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO);
if(hasAudioStr!=null && hasAudioStr.equals("yes")){
audioTrack=true; }
else{
audioTrack=false; }
return audioTrack;
}
内添加auth middleware
以及检查身份验证用户的权限。您可以通过添加permission middleware
然后尝试登录来修复它,现在您可以导航到auth middleware
网址。
users
答案 2 :(得分:0)
为了帮助您,我们需要更多信息。
不确定您接收的是什么类型的http代码(is it a 403?或500?)。
你可以做的事情可能有所帮助:
答案 3 :(得分:0)
我查了一下中间件。它说:
if ($this->auth->guest() || !$request->user()->can($permissions)) {
abort(403);
}
这意味着如果您未经过身份验证,则会在没有消息的情况下崩溃,或者由于您未获得许可而无法执行某些操作。
你可以在中止之前尝试dd()
这里的东西。只是为了看它是否达到了这个目的。如果它确实在Laravel文档中检查了有关abort()
和自定义错误页面的此页面:https://laravel.com/docs/5.5/errors#http-exceptions
答案 4 :(得分:0)
显然你的代码看起来很好。我猜你的中间件有一些问题,它不允许你通过。 你有使用权限:admin所以我猜你应该以管理员身份登录,然后它将正常工作。