2017-02-12 2 views
0

ich someexample von GWTPGWTP Torwächter

http://blog.arcbees.com/2015/10/27/gwtp-beginners-tutorial-toaster-launcher-part-2/#Gatekeeper

@DefaultGatekeeper 
public class LoggedInGatekeeper implements Gatekeeper { 
    private CurrentUser currentUser; 

    @Inject 
    public LoggedInGatekeeper(CurrentUser currentUser) { 
     this.currentUser = currentUser; 
    } 

    @Override 
    public boolean canReveal() { 
     return currentUser.isLoggedIn(); 
    } 
} 

Hier haben wir Zugang geben, wenn die Benutzeranmeldung ist.

Kann man herausfinden, welche Seite (NameToken) vergehen möchte? Und ob ihm das Recht geben, abhängig von den Berechtigungen

Antwort

1

Sicher, nur PlaceManager in Ihre LoggedInGatekeeper injizieren und getCurrentPlaceRequest anrufen und es dann NameToken vergleichen. Etwas in dieser Richtung:

@DefaultGatekeeper 
public class LoggedInGatekeeper implements Gatekeeper { 
    private CurrentUser currentUser; 
    private PlaceManager placeManager; 

    @Inject 
    public LoggedInGatekeeper(CurrentUser currentUser, PlaceManager placeManager) { 
     this.currentUser = currentUser; 
     this.placeManager = placeManager; 
    } 

    @Override 
    public boolean canReveal() { 
     PlaceRequest request = placeManager.getCurrentPlaceRequest(); 
     if (request.hasSameNameToken('someNameToken') { 

      return currentUser.isLoggedIn(); 
     } 
     return true; 
    } 
} 
Verwandte Themen