0

Je veux mettre en page 404 et zone admin dans/dev/chemin, donc je cette app.yaml:Google AppEngine 404 page dynamique

application: appengine_app 
version: 0-00-1 
runtime: python 
api_version: 1 

handlers:  

- url: /dev/.* 
    script: dispatch.py 
    login: admin 

- url: /.* 
    script: dispatch.py 

avec code suivant

app = webapp.WSGIApplication([ ('/dev/analyze', AnalyzePage) 
           , ('/.*', NotFoundPage) ] 
           , debug=False) 

Sur la machine locale, tout va bien. Mais lorsque je tente de GET /dev/analyser sur le serveur de production redirige vers /_ah/login_required?continue=http://appengine_app.appspot.com/dev/analyze et par attrapée NotFoundPage. Donc, je ne peux pas utiliser la partie admin sur Production. Est-ce que je peux avoir une partie 404 dynamique de la page et de l'admin du site?

UPD: si j'éteins NotFoundPage et essayer d'obtenir /dev/analyser sur le serveur de production redirige vers /_ah/login_required?continue=http://appengine_app.appspot.com/dev/analyze et la réponse avec l'erreur 404

Répondre

0

Vous avez défini le handle de script dans app.yaml sur admin seulement, ce qui signifie que le runtime vous assurera que vous êtes connecté en tant qu'administrateur avant d'envoyer des demandes à votre code. Il n'y a aucun moyen pour l'exécution de savoir que la page entraînera un 404 - et c'est probablement quelque chose que vous ne voulez peut-être même pas que les utilisateurs non-administrateurs découvrent. S'il est important que vous envoyiez des 404 aux utilisateurs qui ne sont pas connectés, vous pouvez rendre le gestionnaire dans app.yaml plus spécifique - par exemple, le faire correspondre uniquement à /dev/analyze - ou vous pouvez déplacer le contrôle d'administration dans votre code.

+0

Je définis la connexion fédérée pour mon application, mais pas le gestionnaire de page de connexion. Je pensais que certains existe par défaut. Lorsque je passe à l'API Google Accounts et GET/dev/analysis, elle affiche la page de connexion par défaut et tout se passe comme prévu –

+0

@whalebot Je ne suis pas sûre de comprendre. Quel est le problème, alors? Ne pouvez-vous pas simplement créer un gestionnaire de page de connexion et le définir pour ne pas exiger de connexion? –