2

我的问题与我应该如何以及何时使用 AuthorizationRepository 相关?

我想我应该在我的应用程序中使用某种方式来维护我的用户角色(rhino 安全术语中的用户组)以及用户和用户组之间的关系。到目前为止,一切都很好。

当我想为实体和实体组授予特定权限时,我的问题就出现了。我是否应该在基于某些条件保存和更新我的实体的方法中拥有关联和权限授予代码?

例如,假设我有一个 HR 系统拒绝访问“VIP 记录”。我有这个模型:

public enum RecordType
{
   Normal,
   VIP
}

public class Record
{
   public string Name {get;set;}
   public RecordType Type {get;set;}
}

我应该在哪里获得将特定实体与名为“VIP”的组相关联的以下代码?:

_repository.AssociateEntityWith(record, "VIP");

有什么地方可以放置一些对我的实体进行分类的代码吗?

还有一个问题,如果我的 ID 是 int,我应该为每个实体返回什么 GUID?

谢谢!!

4

1 回答 1

0

这是 Rhino Security 特有的吗?如果我理解正确,这更像是一个设计问题。如果它是一个小型应用程序,我会将代码放在_repository.AssociateEntityWith(record, "VIP");任何需要它的地方,例如,在处理用户按下某个按钮的方法中。

但是,如果您有一个更复杂的应用程序,您可以将它放在业务层中。Security例如,您可以有一个带有方法的类:

public void SetAsVipRecord(Record record)
{
    // maybe there's other stuff to do here, like validation logic, logging, etc.
    _repository.AssociateEntityWith(record, "VIP");
}

我不太了解 Rhino Security,所以如果我完全误解了您的问题,我深表歉意。我也无法回答你关于 ID 的问题,但你也可以试试Rhino Tools Google Group

于 2010-09-06T11:20:44.183 回答