2009-06-08 16 views
0

Ich bin interessiert, wenn jemand Erfahrung mit DotNetNuke-Autorisierung in CSLA hat.Integration von CSLA-Autorisierung mit DotNetNuke-Rollen

Ich möchte in der Lage sein, meine DotNetNuke-Rollen zu verwenden, um meinen CSLA-Objekten und -Eigenschaften Berechtigungen zuweisen zu können. Wenn ich nur auf die DNN-Assemblies referenziere, wird dies nicht zu einer unerwünschten Abhängigkeit in meinen CSLA-Business-Objekten führen?

Wäre es einfacher, CSLA-Objekte zu erstellen, die die DNN-Datenbank direkt abfragen, um eine Rollenmitgliedschaft zu erhalten?

Dank ...

Antwort

1

Sie definitiv nicht wollen, dass die Abhängigkeit mit Ihrer DNN-Assembly erstellen. Ihr zweiter Vorschlag ist der Weg zu gehen.

CSLA verwendet standardmäßige IPrincipal/IIdentity-Authentifizierung. Sie können ein Objekt erstellen, das von der CSLA.Security.BusinessPrincipalBase erbt, die ein CSLA-Objekt (z. B. Benutzer) verwendet, das ihre Rollen direkt aus der DNN-Datenbank bezieht. Sobald Sie diese Authentifizierung integriert haben, können Sie Ihre Rollen in Ihre Geschäftsobjekte einfügen, indem Sie die AddAuthorizationRules-Methode überschreiben.