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或其他解决方案实现这一点