我有一个 blazor 服务器应用程序,它使用 EF Core 从数据库中检索用户数据。我的问题是我想根据用户角色限制检索到的数据。因为用户只能看到与他相关的条目,而管理员可以看到所有内容,而他们都使用相同的页面/组件。我知道这可以在 ASP.net 中很容易地在控制器级别完成,但我使用的是 blazor,我正在使用的页面获得了服务注入。
理想情况下,我想让这个检查自动进行,以防止我可能忘记过滤器并且用户可以看到其他人的私人信息的情况,所以一个简单的 if 检查方法中的角色然后使用适当的过滤器似乎很危险对我来说。
在当前设置中,数据是这样检索的:
页面 -> 数据服务 -> DbContext -> 数据库