执行域级访问是否意味着设计不好?

问题描述 投票:0回答:1

假设我们有一个文档实体:

public class Document
{
    public Guid Id { get; set; }
    public string Title { get; set; } // can be viewed and changed by employee & manager
    public decimal Fee { get; set; } // can be viewed and changed by manager only
}

该文档包含两个授权角色:雇员和经理。在我们的方案中,员工对Title字段具有读/写访问权限,而经理对TitleFee字段均具有读/写访问权限。

我可以为员工和经理创建两个不同的写操作,并将不同的模型传递给他们。因此,我可以在现成的ASP.NET Core中使用基于角色的授权。

同时,我可以执行一个写操作,并处理该用户被授权写每个字段的权限。

我在项目中遇到了上面的第二个选项,它导致了复杂的代码。这是否意味着设计不好?

c# asp.net asp.net-core authorization user-roles
1个回答
0
投票

您是否不将授权应用于视图模型。因此,对员工隐藏“费用”字段及其更改权限的能力。

© www.soinside.com 2019 - 2024. All rights reserved.