Anzeigen der aktuellen authentifizierten Sharepoint Benutzer aus einer asp.net Seite-Viewer-Webpart

StackOverflow https://stackoverflow.com/questions/112818

Frage

Ich bin die Schaffung eines eigenständigen asp.net Seite, die in einer Sharepoint-Website eingebettet werden muss, die Seiten-Viewer-Webpart verwendet wird. Die asp.net Seite wird auf demselben Server auf einem anderen Port veröffentlicht, mir die URL geben einzubetten.

Die Voraussetzung ist, dass, nachdem ein Benutzer Sharepoint-Authentifizierung authentifiziert wird, indem sie zu einer Seite navigieren für mehr Optionen, um die asp.net Webpart enthält.

Was muss ich von dieser asp.net Seite zu tun ist, Abfrage Sharepoint für den aktuell authentifizierten Benutzernamen, dann ist diese aus dem asp.net Code auf der Seite angezeigt werden soll.

Das alles funktioniert gut, wenn ich die Anwendung von VS debuggen, aber wenn obwohl Sharepoint veröffentlicht und angezeigt, habe ich immer als Benutzer NULL erhalten.

Irgendwelche Vorschläge auf dem besten Weg, dies zu Arbeit bekommen würde sehr geschätzt werden.

War es hilfreich?

Lösung

Wenn Sie die aktuell authentifizierten Benutzer aus der Sharepoint-Kontext abrufen möchten, müssen Sie in der Sharepoint-Kontext bleiben. Dies bedeutet, dass Ihre eigene Web-Anwendung innerhalb von Sharepoint-Hosting (siehe http://msdn.microsoft.com/en-us/library/cc297200.aspx ). Dann aus Ihrer benutzerdefinierten Anwendung Referenz Microsoft.SharePoint und verwenden Sie die SPContext Objekt den Benutzernamen abzurufen. Zum Beispiel:

SPContext.Current.Web.CurrentUser.LoginName

Sie können das Seiten-Viewer-Webpart verwenden Sie die URL der Website zu verweisen, jetzt innerhalb der Sharepoint-Kontext befindet.

Andere Tipps

Dankhaufen für die Antworten!

Es stellte sich heraus, dass, solange die asp.net Seite die gleiche URL und Port wie der Sharepoint-Website ist mit Authentifizierung über beide Seiten einsetzbar.

Die Lösung ist ein virtuelles Verzeichnis innerhalb der Sharepoint-Website zu verwenden und die asp.net Seite dort installieren.

Wenn es im Debug funktioniert, ist, dass in Sharepoint verwendet?

Ihre Seite und die Sharepoint-Website könnte genauso gut auf verschiedenen Servern sein, sofern die Authentifizierung betrifft -, um die Informationen zu erhalten über Sie es über die Abfrage-Zeichenfolge aus dem webpart passieren könnte müssen, wenn Sie können - oder Sie möglicherweise müssen Sie Ihre eigene webpart machen, dies zu tun (nur mit dem src ein IFRAME in dem Teil setzt auf Ihre Seite mit dem Abfrage-Zeichenfolge die Benutzername vorbei).

Es scheint, dass dies ein Sicherheitsproblem sei, wenn Sie den Namen für etwas obwohl verwenden - wenn Sie es gerade angezeigten, dann ist es wahrscheinlich in Ordnung

.

Wenn Sie tatsächlich authentifiziert werden müssen, müssen Sie die Authentifizierung in die web.config der Website hinzufügen, um Ihre Standalone-Hosting-Seite.

edit: Ich glaube, du mehr Glück setzen Ihre Seite auf dem gleichen Port und Server wie Sharepoint haben würde

.

Ich vermute, Sie haben eine harte Zeit haben speziell Sharepoint für den aktuell authentifizierten Benutzernamen abfragen. Ich kann nicht einen Weg findet leicht den Sharepoint-Kontext aus einer separaten Web-Anwendung zuzugreifen, wie Sie beschreiben.

Ich weiß nicht, welche Art von Authentifizierungsschema Sie verwenden, aber Sie können Kerberos prüfen, verwenden, wie ich gefunden habe, dass es von dieser Art von Szenarien ein wenig leichter, indem sie für die Delegierung und vorbei Anmeldeinformationen machen Anwendung zu Anwendung oder Server zu Server.

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