Ganze 5 Jahre voller Fokus auf die Power Platform:
Wir digitalisieren Ihr Unternehmen mit Power Apps & Co.
9,5 von 10 Kunden
können gar nicht genug von Coleida bekommen
1.000e Citizen DeveloperInnen
wurden duch uns geschult und inspiriert

Power Apps

Nutzeridentifikation in Power Apps

Die sichere und zuverlässige Identifikation von Nutzern ist ein zentraler Baustein in der digitalen Welt. Egal ob es um den Zugang zu sensiblen Daten, die Zuordnung von Aktivitäten zu bestimmten Nutzern oder das effiziente Management von Workflows geht – die korrekte Identifikation von Nutzern ist immer der erste Schritt. Im heutigen Blogbeitrag möchten wir Ihnen zeigen, wie Sie mit der Funktion User() eine genaue und zuverlässige Nutzeridentifikation in Dataverse und SharePoint erreichen können. Wir werden Ihnen dabei nicht nur die Nutzung und Anwendung dieser Funktion erklären, sondern auch aufzeigen, wie Sie diese optimal in Ihrem Arbeitsalltag einsetzen können.

Identifizierung von Nutzern

Mit der Funktion User() können neben dem Profilbild folgende Informationen über den angemeldeten Nutzer abgerufen werden: 

Informationen User-Funktion

Über die Mailadresse kann ein Nutzer zwar in vielen Fällen eindeutig identifiziert werden, aber in manchen Ausnahmefällen ist diese nicht dazu fähig.  

Ein einfaches Beispiel hierfür wäre die Namensänderung (und damit einhergehend eine Änderung der Mailadresse) eines Nutzers oder die Verwendung mehrerer E-Mail-Adressen für denselben Nutzer. In diesen genannten Fällen ist eine Identifikation über die Mail-Adresse nicht eindeutig möglich. 

Die zweite und immer eindeutige Möglichkeit ist die Identifikation über die sogenannte Entra Object ID. Diese Eigenschaft müsste bislang mit einem Abruf des Nutzerprofils über den Office 365 User Connector mit der Aktion „Get my profile (V2)“ geschehen, ist nun aber durch die Integration des Identifikators in der User-Funktion überflüssig. Mittels dieser ID kann ein Nutzer immer eindeutig identifiziert werden.  

Eine mögliche Anwendung dieser Best Practice könnte in der Identifikation des Erstellers eines Datensatzes bestehen. 

Nutzeridentifikation in Dataverse

In Dataverse ist die Identifikation leicht, da die erforderliche Information über den Nutzer bereits in Dataverse in der User-(bzw. Benutzer-)Tabelle abgespeichert ist. Die Spalte „Azure AD Object ID“ enspricht der EntraObjectId, welche wir über die User()-Funktion erhalten.

Identifikation in Dataverse

Soll – wie im Beispiel genannt – überprüft werden, ob der angemeldete Nutzer der Ersteller eines Datensatzes ist, muss lediglich die Beziehung zwischen dem Datensatz und dem User-Datensatz des angemeldeten Nutzers überprüft werden. Jeder Datensatz in z.B. einer benutzerdefinierten Projekt-Tabelle enthält in der Spalte „Erstellt von“ die Information über den Nutzer, welcher den Datensatz erstellt hat.

Somit kann nun über die Beziehung zwischen der Benutzer- sowie der Projekt-Tabelle eindeutig überprüft werden, ob der angemeldete Nutzer den anzuzeigenden Datensatz erstellt hat oder nicht. 

Nutzeridentifikation in SharePoint

In SharePoint ist die eindeutige Identifikation leider nicht ohne zusätzliche Konfiguration möglich. Auch hier gibt es eine Spalte „Erstellt von“ , leider jedoch nur mit einem Subset an Informationen – unter anderem die E-Mail, aber nicht die Object ID. Wir müssen also die SharePoint Liste selbst um eine Spalte erweitern, in der diese Information abgespeichert werden kann.

In der Liste SP Benutzer gibt es eine Spalte Name, E-Mail und Entra ID – alle vom Datentyp „Text“ . Wenn nun ein neuer Datensatz in der Liste angelegt wird, muss lediglich beim Speichern dafür gesorgt werden, dass neben dem Namen und der E-Mail auch die Entra ID übergeben und gespeichert wird.

Beim Abgleich der Spalte mit der EntraObjectId muss letztere in Text konvertiert werden, da diese eine GUID darstellt und nicht direkt mit dem Text in der SharePoint Spalte verglichen werden kann. 

Identifikation in SharePoint

Fazit

Eine eindeutige Identifikation eines Users ist also in Dataverse problemlos ohne zusätzliche Modifikation möglich. In SharePoint oder anderen Datenquellen, wie z.B. SQL Server, ist diese Identifikation auch möglich, bedarf aber einer Modifikation der Zieltabelle.

Beim abzuspeichernden Datensatz muss zusätzlich noch die Entra ID des Erstellers angegeben werden können. Mit dieser kleinen Anpassung können aber auch in anderen Datenquellen als Dataverse Nutzer eindeutig identifiziert werden.

GDPR Cookie Consent mit Real Cookie Banner