我如何实际使用Rhino Security来保护我的实体?

时间:2010-08-27 21:29:17

标签: security rhino-security

我的问题与HOW和WHEN应该如何使用AuthorizationRepository有关?

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

当我想为实体和实体组提供特定权限时,我的问题就来了。我是否应该根据某些条件在保存和更新我的实体的方法中提供关联和权限给出代码?

例如,假设我有一个人力资源系统拒绝访问“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?

谢谢!

1 个答案:

答案 0 :(得分: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