1

我正在用java编写一个存储库程序,我有一个包含存储库用户的用户表和一个包含存储库中所有导入文件的文件表,在MYSQL数据库中。如何设置我的文件对用户的访问权限?事实上,我怎样才能确定哪个用户对存储库中的哪个文件具有女巫访问权限(读、写、读和写)?

谢谢

4

1 回答 1

0

如果您正在编写文件存储库,那么文件访问权限应该是您的 mocel 的概念。您通常不会有一个专门的用户来运行文件存储库程序,并且所有文件都将拥有该用户的权限。

然后授权用户后的程序将从它的数据库表中读取用户对他们想要获取的文件具有什么样的权限。

由于您将文件作为 BLOB 对象物理存储在数据库中,因此您应该创建另一个表来存储用户对这些文件的权限。

create table privileges (
    userid bigint,
    fileid bigint,
    read bool,
    write bool,
    PRIMARY KEY (userid,fileid)
)

然后,每当您想检查用户是否具有对文件的读取权限时

select userid, fileid from user u join privileges p on u.id=p.userid join files f on f.id=p.fileid and p.read=1
于 2012-09-05T11:32:50.270 回答