使用实体框架进行动态数据屏蔽

时间:2018-08-29 12:55:41

标签: sql-server asp.net-mvc entity-framework masking data-masking

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

如果有可能,是否有任何方法可以将其与Asp.Identity结合? 我正在从事的项目要求对某些用户角色屏蔽数据,并且对其他用户可见。

我们正在使用数据库优先方法和Entity框架,其数据字段用以下字符屏蔽:

MASKED WITH (FUNCTION = 'default()')

,对于管理员来说必须可见,而对其他用户角色则应保持屏蔽。通过Asp.identity定义用户角色。

1 个答案:

答案 0 :(得分:1)

如果它非常适合您的应用程序体系结构,则可以尝试通过本博客文章this blog post来采用。

您可以用两个词创建特殊的db用户,该用户将代表您的“其他用户角色”。然后创建DbContext的两个实例:一个用于管理员,另一个用于您的其余角色。因此,基本上,所有有关连接字符串中提供的用户身份的信息。

例如,您可以根据当前用户使用正确的连接字符串来纠正DbContext实例,例如,您可以提供依赖项注入。