Anforderung für den AUFTRAGGEBER die Genehmigung versagt werden, wenn die Arbeit mit mehreren Baugruppen

Habe ich eine einfache Anwendung gliedert sich in drei Baugruppen. Der eine ist ein client-Formular, das ermöglicht dem Benutzer das Lesen einen Schlüssel aus der registry. Zweite ist ein Formular für die Autorisierung durch die der Benutzer anmeldet. Die Dritte ist eine .dll-Bibliothek mit allen Methoden, die die eigentliche Arbeit zu machen.

Ich folgte MSDN-tutorial zum Durchführen Deklarative Security-Checks finden Sie hier http://msdn.microsoft.com/en-us/library/dswfd229.aspx aber etwas immer noch nicht funktionieren.

Erstelle ich GenericPrincipal-Objekt wie folgt:

    public static void CreatePrincipal(string user)
    {
        GenericIdentity MyIdentity = new GenericIdentity(user);

        String[] MyString = { "Administrator", "User" };

        GenericPrincipal MyPrincipal =
            new GenericPrincipal(MyIdentity, MyString);

        Thread.CurrentPrincipal = MyPrincipal;
    }

Diese befindet sich in der CustomPrincipal-Klasse in der .dll-assembly.

In der gleichen Versammlung habe ich eine RegistryOperations Klasse mit der folgenden Methode:

    [PrincipalPermissionAttribute(SecurityAction.Demand, Name = "admin1", Role = "User")]
    public static string ReadDeclarative()
    {
      ...
    }

Nichts besonderes. In meinem "Authorization" - Montage habe ich die GUI fordert .dll-Methode für die Autorisierung:

    private void btnLogin_Click(object sender, EventArgs e)
    {
        CustomPrincipal.CreatePrincipal(txtUsername.Text);
    }

Schließlich in der Dritten, "Client" Montage nenne ich das .dll-Methode zum Lesen von registry-Schlüssel:

    private void btnReadRegistry_Click(object sender, EventArgs e)
    {
        txtContents.Text = RegistryOperations.ReadDeclarative();
    }

Funktioniert das nicht. Logge ich mich über die Berechtigung der Montage und wenn ich versuche, das registry zu Lesen ich habe den Antrag für den Prinzipal die Berechtigung fehlgeschlagen ist. Visual Studio schlägt das hinzufügen der Baugruppen an einigen mystischen Vollständige Liste Vertrauen, aber das ist nowehere gefunden werden, in VS2010. Bitte beraten.

InformationsquelleAutor barjed | 2011-05-10
Schreibe einen Kommentar