2

私の質問は、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");

エンティティを分類するコードを配置できる場所はありますか?

もう 1 つの質問ですが、ID が int の場合、エンティティごとにどの GUID を返す必要がありますか?

ありがとう!!

4

1 に答える 1

0

これはRhinoセキュリティ固有ですか?私がそれを正しく理解していれば、それはより設計上の問題です。小さなアプリケーション_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 ToolsGoogleGroupを試すこともできます。

于 2010-09-06T11:20:44.183 に答える