Frage

Ich arbeite an einem öffentlichen MOSS 2007-Website mit Blick auf, der die ViewFormPagesLockDown Funktion nutzt den Zugriff auf die Standard-Listenformulare anonyme Benutzer zu stoppen. Ich möchte nicht die zusätzliche Sicherheit bietet dieses Feature verlieren, aber es gibt ein paar Listen, in denen anonyme Benutzer Zugriff auf die Formulare haben sollte.

Gibt es etwas, was ich in der Liste Einstellungen, Listenvorlage tun können, oder Code in Funktion, die eine bestimmte Liste oder Form zu verlangen, SPBasePermissions.ViewFormPages zu stoppen?

War es hilfreich?

Lösung

war ich nicht in der Lage einen Weg, um es zu finden. Die Unterstützung für die Sperrungsfunktion scheint in die Formularklasse gebacken zu werden. Statt dessen, was wir taten, war eine eigene Seite mit einem eigenen ListFormWebPart . Im Folgenden ist eine Adaption eines Eintrags aus unserem internen Blog, in dem ich die Schritte skizziert ein anonymer Benutzer zu ermöglichen, neue Elemente zu einer Liste hinzuzufügen:

In den Listeneinstellungen finden Sie unter Erweiterte Einstellungen. Stellen Sie sicher, Lesezugriff auf alle Elemente gesetzt. Zurück zur Listeneinstellungen und wählen Sie Berechtigungen für diese Liste. Brechen Vererbung von der Website, indem Sie Aktionen> Berechtigungen bearbeiten. Hinweis: Wenn Sie ein Kontrollkästchen links von den Namen sehen diesen Schritt bereits getan wurde. Sobald benutzerdefinierte Berechtigungen gesetzt wurden, wählen Sie Einstellungen> Anonymous Access. Überprüfen Sie Elemente hinzufügen und dann auf OK klicken. Zur Vervollständigung des anonymen Zugriffs Rückkehr zu Einstellungen> Erweiterte Einstellungen und Zurücksetzen wählen Nur eigenen ihre für beide Lesezugriff und Bearbeitungszugriff, dann auf OK klicken.

Erstellen

eine neue Seite mit Websiteaktionen> Seite erstellen. Öffnen Sie die Website von Sharepoint Designer. Rechtsklick auf die neu erstellte Seite und wählen Sie Trennen von Seitenlayout. Positionieren Sie den Cursor innerhalb eines Webpartzone und wählen Sie Einfügen> Sharepoint-Steuerungen> Benutzerdefinierte Liste Formular. Wählen Sie die entsprechende Liste und New Artikel Form, dann klicken Sie auf OK. In dem Codefenster ändern Datasource in der neu geschaffenen DataFormWebPart von ListItem auf Web-Site. Verlassen Sie die Standardeinstellung von ListItem, anonyme Benutzer erhalten eine „Zugriff verweigert. Sie haben keine Berechtigung, diese Aktion oder Zugriff auf diese Ressource auszuführen“ Fehler. Speichern und zeigen Sie die Seite im Browser.

Für die besten Ergebnisse erzielen Sie mit Sharepoint Designer auf einem Entwicklungsserver. Um die WebPart zur Produktion zu migrieren, öffnen Sie die Seite auf dem Entwicklungsserver im Browser und wählen Sie Exportieren aus dem WebPart-Menü. Speichern Sie die Datei WebPart. Öffnen Sie die Seite auf dem Produktionsserver im Browser und wählen Sie Bearbeiten Seite von Websiteaktionen. Wählen Sie im Menü auf der Seite Symbolleiste, wählen Sie Seite> Webparts hinzufügen> Importieren. Geben Sie den Speicherort der WebPart-Datei vom Server-Entwicklung gespeichert und klicken Sie auf Hochladen. Als nächstes ziehen die importierte WebPart aus dem Tool-Bereich auf der rechten Seite in die gewünschte WebPart Zone. Um die Seite zu speichern, klicken Sie auf Veröffentlichen.

Andere Tipps

Eine ältere Frage, aber ich dachte, ich würde eine andere Option hinzufügen, dass Sie dies tun können.

Lösung: Als Rich erwähnte Pause Berechtigungsvererbung auf der Liste. Drücken Sie die ViewFormPagesLockDown Funktion aus.
Set anonymer Benutzer Zugriff auf die Liste haben. Drücken Sie die ViewFormPagesLockDown-Funktion auf.

Anonyme Benutzer sollten nun in der Lage sein, den Zugriff auf Anwendungsseiten für die Liste nur.

Die Begründung: Die ViewFormPagesLockDown Funktion entfernt die „Anwendungsseiten anzeigen“ und „Use Remote Interfaces“ Berechtigungen von der „Beschränkter Zugriff“ permission Rolle. Allerdings sind die anonymen Benutzer nicht um die Änderungen zu, dass die Rollen bis zum Umschalten der anonymen Zugriffsoption abholen. Dies funktioniert entweder auf einer Website oder Liste Ebene. Wenn Sie also eine bestimmte Web oder Liste wollen verschiedenen anonymen Zugriff auf Anwendungsseiten haben, können Sie die obige Lösung verwenden, das zu ändern.

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