2016-04-01 14 views
0

Ich habe gelesen, dass Google App Engine (GAE) Benutzerauthentifizierung mit Google-Konten bietet. Meine App bietet 3 verschiedene Benutzertypen mit unterschiedlichen Funktionalitäten für alle an. Ich kann nicht herausfinden, wie ich mit der Einrichtung eines solchen Backends fortfahren soll. Ich baue die App in Java und für das Frontend verwende ich AngularJS.Verschiedene Benutzertypen in einer Google App Engine - Java-Anwendung

Bitte helfen Sie mir, in die richtige Richtung zu gehen.

+0

Verwenden Sie die OAuth-Authentifizierung. Die Java-Dokumentation lautet https://cloud.google.com/appengine/docs/java/oauth/ und der Front-End-Code hierfür lautet https://cloud.google.com/appengine/docs/java/endpoints/consume_js –

+0

@ arun shinde Wie kann ich verschiedene Logins für verschiedene Arten von Benutzern erstellen? Ich meine ... wird OAuth nicht eine einzige Plattform bieten, auf der sich alle Benutzer anmelden können? –

+0

OAuth dient grundsätzlich Sicherheitszwecken. Geben Sie Benutzerrollen basierend auf Benutzer-E-Mails in Ihrem Back-End an. –

Antwort

0

Google App Engine unterscheidet nur zwischen zwei Arten von Benutzern. Ein Admin-Benutzer und ein regulärer Benutzer. Sie können prüfen, ob der aktuelle angemeldete Benutzer Admin ist oder nicht:

UserService userService = UserServiceFactory.getUserService(); 
if(!userService.isUserLoggedIn() { 
    // No user is logged in (guest) 
} 
else if(userService.isUserAdmin()) { 
    // Admin user 
} 
else { 
    User user = userService.getCurrentUser(); 
} 

Es gibt einige Java-Bibliotheken, die Sie mit GAE verwenden können, die ein Rollen basiertes Framework zur Verfügung stellen kann. Ein solches Framework, das für GAE optimiert ist, ist Jello Framework.

Eines der Hauptmerkmale von Jello ist das Inline Authorization Model. Mit Jello können Sie verschiedenen Zugriffsebenen für Datenelemente in beliebiger Auflösung (Namespaces, Entitäten, Felder, Aktionen) zuweisen und angeben, wer über die REST-API auf die Daten zugreifen darf.