Benutzerberechtigungen basierend auf MEF-Komponenten

8

Ich machte meine ersten Schritte in Richtung MEF vor ein paar Monaten und alles schien bis jetzt in Ordnung zu sein. Was ich tun möchte, ist MEF jetzt von meinen echten Anwendungen zu verwenden und zu laden oder wir können UI-Komponenten anzeigen, die auf authentifizierten Benutzerberechtigungen basieren. Ich entwickle Patientenmanagementsystem für die Klinik und möchte ein Szenario implementieren, in dem MEF-basierte UI-Komponenten basierend auf dem Benutzertyp angezeigt werden. Wenn zum Beispiel ein authentifizierter Benutzer Arzt ist, möchte ich bestimmte Komponenten anzeigen und andere ausblenden.

Was ich versuche zu erreichen, ist etwas wie

ISystemComponent mit einigen Eigenschaften und Methoden, so dass die Verwaltung jede Benutzerzugriffsebene steuern kann und basierend auf DB-Datensätzen werden vom Endbenutzer erstellte MEF-Steuerelemente angezeigt. Ich denke auch daran, beim Export von Komponenten die MetaData-Schnittstelle zu verwenden. Wie kann ich das gewünschte Ergebnis erzielen?

Jede richtige Richtung wird geschätzt

    
Rati_Ge 24.09.2011, 21:53
quelle

4 Antworten

4

Ich habe dies getan, indem ich ein Metadaten-Attribut für eine Modul-ID und eine Tabelle mit den Berechtigungen verwendet habe.

Führen Sie eine ImportMany auf der Schnittstelle durch, filtern Sie sie dann anhand des Metadatenattributs mithilfe von Reflektion und vergleichen Sie sie mit den Berechtigungen in der Tabelle.

Dieser Blogbeitrag beschreibt alle involvierten MEF.

Ссылка

Andere Links ..

Ссылка

Ссылка

MEF-Plugins mit Sicherheits- und Profileffektivität

MEF mit ImportMany und ExportMetadata

Dies zeigt, wie Sie von xaml importieren

Ссылка

    
Wegged 03.10.2011 16:09
quelle
2

Der Artikel hier enthält Einzelheiten über AOP, um Sicherheitsbedenken in MEF einzubringen. Dies könnte eine Möglichkeit sein, dies zu tun - ich habe nichts in MEF gefunden, das diese Art von Funktionalität anderswo erlauben würde.

    
Dave Walker 27.09.2011 09:31
quelle
0

Ich denke, PRISM kann genau das tun, was Sie beschrieben haben. Werfen Sie einen Blick auf diesen Code Project-Artikel . Sie können mehrere Modulkataloge (je nach Benutzerberechtigungen) erstellen und den Katalog dynamisch aus XML laden, wie in Hier :

%Vor%     
Amittai Shapira 27.09.2011 11:26
quelle
0

Ich habe dies in WPF / MVVM unter Verwendung von Cinch und Backend-SQL-Tabellen implementiert, die Steuerelemente Rollen und Berechtigungen anzeigen Auf diese Weise können Sie Berechtigungen über das Ansichtsmodell steuern und die Sichtbarkeit an jedem beliebigen Punkt ändern.

Cinch hilft mit einigen der Plackerei von MVVM, während Sie MEF durch MeffedMVVM oder Prism.

    
Joe Mancuso 03.10.2011 21:53
quelle