Frage

Wir wollen einen Code-Bestandteil, den wir in den Code hinten einfügen können, und den Benutzernamen erhalten, unter welcher Code ausgeführt wird: - (normalerweise .NET-Code läuft unter Bezeichnung des Anwendungspools)

    .
  1. Timer-Job.

  2. Ereignisempfänger.

  3. webPart.

  4. Layouts-Anwendungsseite.

  5. Benutzersteuerung

  6. jsom

    Dann möchten wir Rwept verwenden, und überprüfen Sie erneut, ob der Benutzername Code unter läuft.

    Welches Snippet verwenden wir?

    update

    Ich möchte nicht Code, der mir den Benutzernamen des angemeldeten Benutzers angibt. Ich möchte den Code, der mir den AccountName gibt, unter dem der Code ausgeführt wird.

    update

    für eine Anwendungsseite: generasacodicetagpre.

    gibt Wert als: Angemeldete Benutzername angemeldet. generasacodicetagpre.

    gibt Wert als angemeldete Benutzername angemeldet. generasacodicetagpre.

    gibt Wert als Authority \ iusr generasacodicetagpre.

    gibt Wert als: serverName \ spadminacountname

    update

    (in unserem Fall, der Site Coll. Admin-Benutzername ergibt sich mit dem Web Application AppPool-Benutzernamen, sodass das Konto wirklich ist?)

    1) Können wir daraus schließen, dass die Anmeldeinformationen, unter denen Code ausgeführt wird, die 'NT-Authority \ iusr' ist und wenn wir RWEP verwenden, ist der Benutzer "WebApp / Sitecol Admin-Benutzer ACOUNT"? Angenommen, wir haben angenommen, dass wir auf eine Datei auf dem Server zugreifen, danach werden die obigen 2 Konten verwendet, um auf die Datei zuzugreifen, und nicht das Konto des angemeldeten Benutzers.

    2) Welcher Konto wird beim Zugriff auf SharePoint-Ressourcen verwendet? Ist es eines der 2 oben oder der angemeldeten Anmeldeinformationen?

War es hilfreich?

Lösung

Notvonkaiser in diesem Fall ist korrekt:

1 läuft unter Bauernhofkonto und alle anderen werden von Benutzerkonto unter Anmeldung angemeldet!

Das angemeldete Benutzerkonto ruft das NT / authentifizierte Konto auf dem Server auf, den er / sie Authentifizierung auf dem Server toDo hat, was er todo anfordert! Wenn das Sinn macht;)

Denken Sie an nt / authenticiert, als ob Sie sich physisch an dem Server anmelden, um eine bestimmte Aufgabe wie Sie auf Ihrem Desktop-PC auf Ihrem Desktop-PC aufzurufen, wenn Sie die Maschine auf den Logonto-Windows einschalten.

so klar zu machen:

2-6 RUN unter dem aktuellen angemeldeten Benutzerkonto mit der NT-Authentifizierung (Zugriff auf jede Ressource)

Jetzt sagt das, es gibt einen weiteren Faktor, und das hat TODO mit Ihrer web.config- und CAS-Richtlinie (Codezugriffssicherheitspolitik), je nachdem, was Sie einstellen (voll, teilweise, niedrig) wird den Zugriff festlegen, den Sie über die Ressourcen unter dem aktuellen angemeldeten Konto haben würden!

In Bezug auf die Bereitstellung ist die einzigen Unterschiede zwischen dem vollständigen Vertrauen Ausführungsmodell und das Bin / CAS-Ausführungsmodell sind der Ort, an dem Sie stellen Ihre Baugruppen und die Codezugriffssicherheitspolitik bereit mit diesem Standort verbunden. In beiden Fällen beliebige nicht kompilierte Elemente, wie ASP.NET-Markupdateien, XML-Dateien oder Ressourcendateien sind in der Regel auf der SharePoint-Root auf jedem Web-Frontend bereitgestellt Server. Wenn Sie eine landwirtschaftliche Lösung mithilfe eines der Farm einsetzen möchten Lösung Ausführungsmodelle, Sie müssen Zugriff auf die Serverdatei haben System und Seien Sie Mitglied der Sicherheitsgruppe Farm Administrators.

http://msdn.microsoft.com/de-us/library/ FF798412.aspx

Die meisten Code wird unter dem aktuellen angemeldeten Benutzerkonto ausgeführt ... es sei denn, Sie sind wiederverunewlelevatedPrivlages als das etwas anderes!

Jetzt auf die Frage, die ich glaube, ist etwas komplexer und tiefer, was ich glaube, was Sie suchen, um es mit dem Arbeiterprozess todo zu haben!

Sie sich also an dem Computer anmelden -> GOTO SharePoint-Site, der Ihr Konto authentifiziert (NT-Authentifizierung) ->, als Sie einen Job durchführen, der unter dem Arbeiterprozess W3wp.exe ausgeführt wird, und ich denke, dass Sie sich darauf beziehen?

Ein Arbeiterprozess ist der Benutzermodus-Code, dessen Rolle Anforderungen verarbeiten soll, B. Verarbeitungsanforderungen, um eine statische Seite zurückzugeben, ein ISAPI aufrufen Erweiterung oder Filter oder Ausführen einer gemeinsamen Gateway-Schnittstelle (CGI) Handler.

In beiden Anwendungsisolationsmodi wird der Arbeitsprozess gesteuert durch den WWW-Dienst. Im Worker-Prozess-Isolationsmodus a Der Arbeiterprozess läuft als ausführbare Datei mit dem Namen W3wp.exe und in IIS 5.0 Isolationsmodus, ein Arbeiterprozess wird von inetinfo.exe gehostet. Abbildung 2.2, das die Architektur für den IIS 5.0-Isolationsmodus darstellt, verwendet eine gestrichelte Linie, um die Beziehung zwischen dem Arbeitsprozess und der Beziehung zwischen dem Arbeitsprozess und der der WWW-Dienst.

Worker-Prozesse verwenden http.sys, um Anfragen zu empfangen und zu senden Antworten mithilfe von HTTP. Arbeiterprozesse führen auch Anwendungscode aus, wie ASP.NET-Anwendungen und XML-Webdienste. Sie können konfigurieren IIS, um mehrere Arbeitsprozesse auszuführen, die eine andere Anwendung dienen Pools gleichzeitig. Dieses Design trennt Anwendungen nach Prozess Grenzen und hilft, maximale Zuverlässigkeit von Webserver zu erreichen.

standardmäßig Arbeitsprozesse im Worker-Prozess-Isolationsmoduslauf Unter dem Netzwerk-Service-Konto, das die stärkste Sicherheit hat (kleinster Zugriff) kompatibel mit der erforderlichen Funktionalität.

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/29F53968-0115-451F-B26D-5AD58D87B5D1.MSPX?mfr=true

Der IIS-Arbeiterprozess wäre also derjenige, der den Code unten ausführt, aber dies zu tun, um dies zu tun, müssen Sie nt authentifiziert werden.

Der folgende Link zeigt ein besseres Verständnis!

http://msdn.microsoft.com/de-us/library/ ff798428.aspx

edit

1) können wir daraus schließen, dass die Anmeldeinformationen, unter denen Code läuft, der 'NT Authority \ iusr' und wenn wir RWEP verwenden, ist der Benutzer 'WebApp / Sitecol Admin-Benutzer ACOUNT'? Zum Beispiel angenommen, wir sind Zugriff auf eine Datei auf dem Server Anschließend werden die obigen 2 Konten verwendet Zugriff auf die Datei und nicht das Konto des angemeldeten Benutzers.

Ok, ich denke, dass Sie verwirrt werden?

Es gibt zwei Phasen .... Der Benutzer meldet sich in das Gerät Ja? Dieser Benutzer hat Zugriff und ist Teil von 'NT Authority \ iusr', sodass er auf bestimmte Ressourcen auf den Zugriff auf bestimmte Ressourcen zugreifen kann. Sie müssen innerhalb von SharePoint 'NT Authority \ IUSR' sein

Krank sein in w3wp.exe (wie Code (innerhalb der Montage)) ... Dieser wird unter dem Anwendungsbeckenkonto ausgeführt.Es ist nicht der einen oder der andere, mehr gleichzeitig gleichzeitig verwendet.

Sie kennen das angemeldete Konto, das Sie nowiouslt verwendenmit dem Benutzernamen, der das Webanwendungspoolkonto wäre.

2) Welcher Konto wird beim Zugriff auf SharePoint-Ressourcen verwendet?Ist es einer der 2 oben oder der angemeldeten Anmeldeinformationen?

SharePoint-Ressourcen werden vom angemeldeten Benutzer aufgerufen.gleich wie oben.

Andere Tipps

1 sollte immer unter dem Betriebskonto ausgeführt werden.

Für 2, 3, 4 und 5 sollten Sie in der Lage sein, diese Informationen mit diesem Code herauszuführen: generasacodicetagpre.

Note Hinweis Wenn Sie es jedoch innerhalb des Delegat-Blocks anrufen, erhalten Sie einfach den Namen des Kontos, das den Code ausführt. Wenn Sie in diesem Fall einen Benutzernamen angeben müssen, rufen Sie das Objekt 'SPCONTEXT' vor oder nach dem Ausführen des Delegiertenblocks an. Sie können das Objekt nicht direkt in den Delegiertenblock bestehen, aber Sie sollten nicht extrahieren, was Sie extrahieren können, was Sie in Saiten benötigen oder was Sie haben, und senden Sie sie sie in.

für csom, vorausgesetzt, Sie verwenden JavaScript, wobei dieser Codeblock von diese ms Seite: generasacodicetagpre.

Sie müssen SP.Js vorladen, bevor dieses Skript ausgeführt wird, entweder indem Sie es auf der Master-Seite einhalten oder einen "SharePoint: ScriptLink" -Block in Ihrer Markierung hinzufügen.

Grundsätzlich, was Sie tun müssen, ist dies:

    .
  1. den Client-Kontext anrufen.
  2. Informieren Sie dem Kundenkontext, was Sie von ihm abrufen möchten.
  3. Erstellen Sie einen asynchronen Anruf in den Web-Service, um diese Informationen zu erhalten.
  4. Richten Sie Callback-Methoden ein, um die Daten zu behandeln, wenn der Async-Anruf erfolgreich ist oder nicht.

    hoffe das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top