3

是否可以在实体框架中使用 SQL 的动态数据屏蔽?

如果可能的话,有没有办法将它与 Asp.Identity 结合起来?我正在处理的项目要求对某些用户角色屏蔽数据并且对其他人可见。

我们正在使用数据库优先方法和实体框架,其中的数据字段被掩盖:

MASKED WITH (FUNCTION = 'default()')

需要对管理员可见并且对其他用户角色保持屏蔽。用户角色是通过 Asp.identity 定义的。

4

1 回答 1

1

如果它非常适合您的应用程序架构,您可以尝试从这篇博文这篇博文中的方法。

简而言之,您可以创建代表您的“其他用户角色”的特殊数据库用户。然后创建两个实例DbContext:一个用于管理员,一个用于您的其他角色。所以,基本上,这都是关于连接字符串中提供的用户身份。

基于当前用户的正确连接字符串的正确 DbContext 实例,例如,您可以提供依赖注入。

于 2019-02-27T16:21:42.990 回答