我有以下代码:
_session.SecureFor(requester.Id, Authorization
.AuthorizationPermissionsMessageView);
var messages = _session.Query<Message<T>>()
.TransformWith<MessagesForAccountByCreatorId, Message<T>>();
无论对它们的授权是什么,这总是产生_all的所有消息。
当我这样做时:
_session.SecureFor(requester.Id, Authorization
.AuthorizationPermissionsMessageView);
var messages = _session.Query<Message<T>>();
我只收到用户有权查看的消息。
所以我认为Auth软件包只适用于直接查询吗?它在索引和变换器中不起作用吗?
所以我从文档中看到以下内容:
&#34;虽然使用索引查询的文档将根据安全规则进行过滤,但是没有任何过滤可以直接从索引中获取数据。从索引中获取数据需要一个明确的操作(将字段标记为已存储),因此它通常不是问题,但请注意,即使使用Auth Bundle,如果要在索引中存储字段,它们也可以是无论您拥有何种授权设置,都可以阅读。&#34;
我对此感到困惑!那是什么意思?它说安全过滤器适用于索引,然后说它们不是?!
现在完全糊涂了,Ayende says here they are supported。