dmodai

369 经验值

问题一中还是拦截不到错误, 不知道怎么回事
问题二我已经咨询其他人解决, permission是依据接口才有的 , 肯定是死的

我还有一个问题, 因为要做权限管理, 所以permission的部分应该是根据dingo中的路由来一一对应吗?那我有几个问题

  • 在代码中如何显示全部路由呢? 命令行确实可以

  • 显示出路由后是当成permission的slug的吗?如果路由太长是否要考虑用一整套新的规则来对应,例如 用 . 连接?如何限制permission和路由一一对应呢,也没有多余?

不知道我这样想是否有错, 或者是用其他什么方式来解决?

有的啊, 出这个错是因为:我先给登陆用户赋予了admin角色,然后数据库直接修改这个用户id(让这个登录用户没有admin权限), 然后就是这个错了
这是dinggo 的路由

            $api->get('roles', [
              'middleware' => 'role:admin',
              'uses' => 'RoleController@createRole'
            ]);

我看视频后半段看到了, 我在视频出错前就出现了, 很悲剧,现在知道了;不过又出现了在app/Exceptions/Handler.php中拦截不到错误, 已经在路由中注册了middleware

 use Bican\Roles\Exceptions\AccessDeniedException as AccessDeniedException;

public function render($request, Exception $e)
    {
        // if ($e instanceof ModelNotFoundException) {
        //     $e = new NotFoundHttpException($e->getMessage(), $e);
        // }
        die('sww');
        if ($e instanceof AccessDeniedException) {
          echo 'ss';die();
            // you can for example flash message, redirect...
            return redirect()->back();
        }
        die('a');
        return parent::render($request, 'ss');
    }

postman返回


{
  "message": "You don't have a required ['admin'] role.",
  "status_code": 500,
}

我在User.php中

use Bican\Roles\Traits\HasRoleAndPermission;
use Bican\Roles\Contracts\HasRoleAndPermission as HasRoleAndPermissionContract;

class User extends Model implements AuthenticatableContract,
                                    AuthorizableContract,
                                    CanResetPasswordContract,
                                    HasRoleAndPermissionContract
{
    use Authenticatable, Authorizable, CanResetPassword, HasRoleAndPermission;

报错:Trait method can has not been applied, because there are collisions with other trait methods on App\\User

请问是不能有AuthorizableContract这个吗(官方没写这个, 但是教程有这个也么可有报错, 我去掉这个AuthorizableContract就不冲突了)
请问这个怎么解决

最近看了教主的restful api系列视频,群里有很多人提了个问题,如何自定义实现返回值,官方文档里有说明,但是不是很具体,这里再废话一下参照[官方文档](https://github.com/dingo/api/wiki/Transformers)return $this->collection($users, new UserTransformer, function ($resource,

问题三修改env配置项:API_PREFIX=v1

问题4已经解决, 通过配置react打包, 课自己定义配置到larvel根目录(无需webapp文件夹)

 laravel5.1接口开发中: 请问

#dingo使用jwt中token存在哪里了

# 接口如何删除token(在登出时候)

# 还有dingo路由能改成 V1/等版本号而不是api/ 吗

 # laravel中我想根路由直接指向前端react已经打包好的/public/webapp/ 这个文件夹的

Route::get('/', function () {     
return redirect('webapp/index.html');   
}


我这样写是实现了前端全部用react的打包文件, 但是路由一直都 域名/webapp/index.html很丑, 请问有更好的解决或新的处理方法吗

 请问谁知道laravel  做api开发时候, 如何接受 option和允许跨域吗我现在有个参考文件:

 http://www.jason-z.com/laravel-and-lumen-support-cors/ 

如何正确使用两个文件呢