Java 行级安全性
我在一家公司工作,正在开发一个应用程序,用户可以从中获得各种类型的数据。我们都知道,数据可能是敏感的,这取决于类型 首先,在我的公司,我们有不同类型的“角色”。不同的角色可以查看不同的数据,具体取决于角色的类型。听起来有点奇怪的是,我们必须手动过滤数据,系统上的每个查询都有带有规则的where子句,我们认为它不正确。我们正在使用hibernate来执行DAO 第二,在我的应用程序上,它有点不同,但目标相同。用户插入数据,他只能看到自己的数据。当他想要时,每个查询中都会进行筛选。我将mongodb与morphia一起使用,我必须按“用户”进行筛选,但是,根据我要查找的文档,用户处于不同的级别 例如:Java 行级安全性,java,mongodb,hibernate,jpa,morphia,Java,Mongodb,Hibernate,Jpa,Morphia,我在一家公司工作,正在开发一个应用程序,用户可以从中获得各种类型的数据。我们都知道,数据可能是敏感的,这取决于类型 首先,在我的公司,我们有不同类型的“角色”。不同的角色可以查看不同的数据,具体取决于角色的类型。听起来有点奇怪的是,我们必须手动过滤数据,系统上的每个查询都有带有规则的where子句,我们认为它不正确。我们正在使用hibernate来执行DAO 第二,在我的应用程序上,它有点不同,但目标相同。用户插入数据,他只能看到自己的数据。当他想要时,每个查询中都会进行筛选。我将mongodb
- 每个基金都有一个用户李>
- 每笔交易都有一笔资金李>
[
{
"description": "xpto",
"user": {
"login": "Someone"
}
}
]
[
{
"value": 1234.23,
"date": "2017-01-01",
"fund": {
"description": "xpto",
"user": {
"login": "Someone"
}
}
}
]
如果我列出用户的交易,我有以下文档:
[
{
"description": "xpto",
"user": {
"login": "Someone"
}
}
]
[
{
"value": 1234.23,
"date": "2017-01-01",
"fund": {
"description": "xpto",
"user": {
"login": "Someone"
}
}
}
]
因此,在查询资金时,我有以下信息:
datastore.find(Fund.class).filter("user.login", getUser().getLogin());
在交易中:
datastore.find(Transaction.class).filter("funds.user.login", getUser().getLogin());
我做了一些研究,发现了一些我不太清楚的结果:
- 行级安全李>
- @休眠过滤