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

时间:2017-10-18 06:24:58

标签: permissions roles shiro vert.x

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#">Email us</a>

我尝试使用Apache Shiro,但是不明白如何使用permission / role实现它。我想要的是,例如:user1可以为所有目录服务,其他目的地 - 只有特定的目录。

理论代码:

    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
        });
    });

如何使用Shiro或其他解决方案实现此目的?

0 个答案:

没有答案