我尝试实现文件服务器,其中用户有权提供/上传到授权目录。这就是我想要的代码:
<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或其他解决方案实现此目的?