SharePoint Aktionen in Benutzerkontext durchführen
Wenn Sie SharePoint Aktionen im Kontext des angemeldeten Benutzers (oder im Kontext der Person, die einen Prozess gestartet hat), können Sie in OnPremise Umgebungen eine SharePoint Provider Hosted App ausrollen. Diese muss als eine High-Trust App ausgerollt werden, um die Möglichkeit zu bieten sich im Kontext der verschiedenen Personen am SharePoint anzumelden. Dabei wird ein entsprechender Benutzertoken für die unterschiedlichen Personen über diese Provider Hosted App generiert. Folgende Schritte sind für das Rollout nötig:
SharePoint Client Registrieren
- Öffnen Sie das SharePoint Web auf das zugegriffen werden soll in einem beliebigen Browser
- Öffnen Sie die Url /_layouts/15/appregnew.aspx (sprich https://WEBURL/_layouts/15/appregnew.aspx)
- Geben Sie als Client Id die von linqi genannte Client Id ein
- Generieren Sie ein Client Secret
- Geben Sie die als App Domain die Domain ein unter der Sie die Provider Hosted App hosten wollen (ohne https oder ähnliches)
- Geben Sie als Redirect URI die App Domain mit https:// ein
- Legen Sie die App Registrierung über Create an
SharePoint Client Berechtigen
- Öffnen Sie das SharePoint Web auf das zugegriffen werden soll in einem beliebigen Browser
- Öffnen Sie die Url /_layouts/15/appinv.aspx (sprich https://WEBURL/_layouts/15/appinv.aspx)
- Nutzen Sie die genannte Client Id um die App über Lookup zu laden
- Geben Sie als Permission Request XML folgendes an:
<AppPermissionRequests>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
</AppPermissionRequests>
IIS Anwendung ausrollen
- Die IIS Anwendung können Sie z.B. auf den selben Server ausrollen aufdem auch linqi läuft
- Es muss .Net Framework 4.8 installiert sein, sowie ASP für IIS
- Legen Sie einen neuen Apppool (z.B. linqi SharePoint Auth) an
- Legen Sie eine neue Seite (z.B. linqi SharePoint Auth) an die den Application Pool nutzt
- Deaktivieren Sie Anonymous Auth für diese Seite, und aktivieren Sie Windows Auth für diese Seite
- Kopieren Sie den Inhalt der Provider Hosted App welche Ihnen durch linqi bereitgestellt wurde in den Ordner der Seite
- Passen Sie die web.config wie folgt an:
- ClientSigningCertificatePath: Geben Sie hier den Pfad zu der PFX Datei an die für die High Trust Provider Hosted App im SharePoint registriert wurde
- ClientSigningCertificatePassword: Geben Sie hier das verschlüsselte Passwort für die PFX Datei an. Um das Passwort zu verschlüsseln können Sie das linqi Encryption Tool nutzen welches durch den Installer mitgeliefert wird.
- LdapDomain: Geben Sie hier die LDAP Domain ein welche genutzt wird um die Benutzerdaten zu laden mit denen der Zugriff auf Sharepoint läuft. Die Domain muss daher die selbe sein wie die, die SharePoint nutzt
- LdapUsername: Geben Sie hier den Benutzername des Accounts an mit dem die lesenden Zugriffe auf das Active Directory erfolgen
- LdapPassword: Geben hier das verschlüsselte Passwort für den Account an an mit dem die lesenden Zugriffe auf das Active Directory erfolgen