Permissions 如何使用Shiro设置特定资源的权限/角色

Permissions 如何使用Shiro设置特定资源的权限/角色,permissions,roles,shiro,vert.x,Permissions,Roles,Shiro,Vert.x,我尝试实现文件服务器,其中用户有权只向授权目录提供服务/上传。下面是我想要的代码: router.get("/files/*").handler(ctx -> { String requestedDir = ctx.request().path().replaceFirst("/files/", ""); ctx.user().isAuthorised("read:" + requestedDir, isAuth -> {

我尝试实现文件服务器,其中用户有权只向授权目录提供服务/上传。下面是我想要的代码:

    router.get("/files/*").handler(ctx -> {

        String requestedDir = ctx.request().path().replaceFirst("/files/", "");

        ctx.user().isAuthorised("read:" + requestedDir, isAuth -> {
            if (isAuth.succeeded()) ctx.next();
            else ctx.fail(401);
        });
    });

    router.get("/files/*").handler(StaticHandler.create().setDirectoryListing(true));

    router.post("/upload").handler(ctx -> {
        String toDir = ctx.pathParam("dir");
        ctx.user().isAuthorised("write:" + toDir, isAuth -> {
          //upload
        });
    });
我尝试使用ApacheShiro,但不明白如何使用权限/角色实现这一点。例如,我想要的是:user1可以服务于所有目录,其他目录只能服务于特定目录

理论代码:

user.user1 = pass,write:* // write = write+read
user.user2 = pass,write:/some/folder1 
user.user3 = pass,write:/some/folder2,read:/some/folder3 
如何使用Shiro或其他解决方案实现这一点