Frage

Ich möchte bestimmte Daten aus einer Instanz eines Objekts an sein Attribut weitergeben, und ich habe Probleme, die zu implementieren. Hier ist ein Beispiel:

[AuthenticateAttribute]
public class MyController: Controller
{
    UserInfo info;
}

Die Idee ist das AuthenticateAttribute Die Instanz würde die Benutzerinfo -Instanz bevölkern.

Ich möchte einen Hinweis darauf geben info zu einer Instanz von AuthenticateAttribute und dadurch eine starke Kopplung zwischen dem Attribut und dem Besonderen beseitigen MyController Klasse.

Ist das möglich?

War es hilfreich?

Lösung

Das Attribut selbst sollte das nicht haben UserInfo Feld imo. Denken Sie daran, dass es eine Instanz des Attributs für die geben wird Typ Es wird auf - nicht pro Instanz dieses Typs angewendet.

Wenn Sie ein umfassenderes Beispiel geben könnten (zeigen den Code, auf den er angewendet wird), können wir möglicherweise mehr helfen ...

Andere Tipps

Die ViewData -Sammlung des Controllers ist über das Attribut aus zugegriffen und Sie können Ihr Benutzerinfo -Objekt dazu hinzufügen und dann in den Acions des Controllers darauf zugreifen. Sie können auch ein typisiertes Modell verwenden, das UserInfo enthält. Dieses Szenario wird hier beschrieben Erhalten Sie die Erlaubnis von Autorize Attribut?

Das Ändern von Typfeldern im Attribut, das darauf angewendet wird, ist nicht üblich und Sie müssen sehr vorsichtig sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top