Wir haben eine SharePoint-Anwendung, in der der Benutzer die web.config durch Aktivieren einer Funktion ändern können soll. Die Anwendung wurde erweitert, so dass wir eine Webanwendung auf AD-Basis und eine andere verwenden, die formularbasierte Authentifizierung (FBA) verwendet, wobei die FBA-Anwendung die "Haupt" -Benutzeranwendung ist.Ändern der SharePoint App Web.config-Datei mit formularbasierter Authentifizierung
Wir verwenden die SPWebConfigModification-Klasse (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx), um in die web.config für Einstellungen zu schreiben, die wir für die aktivierte Funktion benötigen.
Dies funktioniert gut auf der AD-basierten Seite der Dinge. Wenn wir dies jedoch in der FBA-basierten Webanwendung ausführen, erhalten wir einen Fehler, da der Websitesammlungsadministrator für die FBA-Site keinen Zugriff auf die Datei web.config auf dem Server hat. Da sie ein FBA-Benutzer sind, können wir ihnen auch keine Rechte auf dem Server geben.
Hat jemand in das hineingeraten? Hat jemand irgendwelche Umwege? Ich nehme an, ich könnte versuchen, die Anwendung zu haben, um die web.conifg über die Befehlszeile zu aktualisieren, aber ich würde wirklich gerne von dem Benutzer getan werden, wenn sie die Funktion aktivieren. Ich könnte auch versuchen, Sicherheitsrechte auf der web.config zu lockern, aber das ist ein schlechter Weg, um zu starten.
Danke! John
Warum ändern Sie die Datei web.config zur Laufzeit? Wenn Sie nur ein Schlüsselwertpaar (d. H. AppSettings) festlegen möchten, sollten Sie die Einstellungen für Eigenschaftenbeutel in SharePoint untersuchen. die Datei web.config Modyfing ist schlecht aus 2 Gründen 1) Es wird der IIS-Anwendungspool möglicherweise zurückgesetzt (also einen winzigen verursacht (oder auf der Größe von Ihnen Websitesammlungen abhängig) Ausfall. 2) Web .config-Änderungen werden über einen Zeitgeberauftrag angewendet (der Kontext des Benutzers, der die Änderung vornimmt, ist irrlevent). – Jeff