代码之家  ›  专栏  ›  技术社区  ›  Rex Miller

Net Web窗体实体级访问控制

  •  3
  • Rex Miller  · 技术社区  · 17 年前

    我有一个ASP.NETWebForms应用程序,在其中我使用基于表单的身份验证和成员身份和角色提供程序,这对于身份验证和控制对目录和/或文件的访问是很好的。现在我发现自己需要控制对单个实体实例的读、写和删除访问,例如能够更新或删除客户的实例。我一直在想一个很好的方法来实现这一点,但我真的不知道从哪里开始。我读到 the Authorize attribute in ASP.Net MVC

    2 回复  |  直到 17 年前
        1
  •  6
  •   Nisse Engström sting_roc    9 年前

    最简单的方法是要求用户是有问题的方法所需的角色的成员 PrincipalPermissionAttribute .

    [PrincipalPermission(SecurityAction.Demand, Role="Supervisor")]
    [PrincipalPermission(SecurityAction.Demand, Role="Owner")]
    public void DeleteSomething() {...}
    

    请注意,这意味着主管或业主可以 DeleteSomething() .

        2
  •  0
  •   Pradeep Pradeep    17 年前

    我认为“原则许可”不是一个好办法。 类似地,如果我需要删除DeleteSomthing()的现有角色? 唯一的方法是在代码级别更改属性。这对于大型项目来说根本不可行。

    我也在寻找一个好的解决方案。