SSRS prüft, ob der Benutzer in der Gruppe Custom Assembly verwendet

8

Ich habe eine benutzerdefinierte Assembly für mein SSRS-Projekt erstellt.

Die benutzerdefinierte Assembly hat 2 Funktionen, IsInGroup und MyTest :

%Vor%

1) Die Basisfunktion MyTest , die einen String 'Hello World' zurückgibt, funktioniert einwandfrei mit dem Ausdruck =SSRS_Custom_Functions.Class1.MyTest()

aus dem Report

2) Die Funktion IsInGroup , die einen booleschen Wert zurückgibt, funktioniert nicht. Dies verwendet den Namespace System.Security.Principal , um zu überprüfen, ob der an die Funktion übergebene Benutzername in der an die Funktion übergebenen Gruppe vorhanden ist. Beim Versuch, den Ausdruck mithilfe des Ausdrucks =SSRS_Custom_Functions.Class1.IsInGroup(User.User1, "MyGroupName") aufzurufen, wird der Bericht mit der folgenden Fehlermeldung angezeigt:

  

Anforderung für die Berechtigung vom Typ System.Security fehlgeschlagen

Ich habe die Konfigurationsdateien rssrvpolicy.config im ReportingServices-Dateipfad und RSPreviewPolicy.config im VisualStudio-Dateipfad gemäß Microsoft geändert KB920769 .

Ich habe eine CodeGroup hinzugefügt, die FullTrust zu meiner benutzerdefinierten Assembly gibt.

Dem Element der Richtlinienebene wurde Folgendes hinzugefügt:

%Vor%

Ich bekomme immer noch dieselbe Fehlermeldung wie oben.

    
JsonStatham 31.07.2012, 13:13
quelle

2 Antworten

4

In Ihrer Assembly müssen Sie zuerst das SecurityPermission-Objekt bestätigen, bevor Sie es verwenden.

%Vor%     
general exception 03.08.2012, 14:03
quelle
1

In der Datei AssemblyInfo müssen Sie namespace System.Security und

hinzufügen %Vor%

Unterzeichnen Sie die Assembly mit Zertifikat und stellen Sie sie auch in GAC der Maschine bereit.

    
bhupendra patel 04.08.2012 20:19
quelle