J'essaie d'utiliser le Je veux que celui qui tente d'accéder à ce chemin d'accès Passez à travers le voici mon code: p> routes.js: p> stratégies.js: p> routes.js code> pour définir un itinéraire vers
'/ compte' code>.
UserController Code> et l'action
CheckLogin Code> et si la vérification de la sécurité passe, l'utilisateur doit être rendu avec la vue définie qui est
home / compte code > p>
UserController: {
'*': 'isAuthenticated',
'login': true,
'checkLogin': true
}
3 Réponses :
Pour le mettre court: le routage de contrôleur / style action ou de style d'action doit être utilisé dans le même itinéraire dans Selon le routeur's code source , une fois qu'il existe une propriété code> code> dans un objet d'itinéraire, des arrêts de liaison, de sorte que les voiles ne sient donc jamais à quel contrôleur votre page Donc, il suffit de supprimer la propriété code> code> de l'itinéraire, vous pouvez toujours spécifier le chemin de vue (si vous souhaitez une non-standard) avec un rendu explicite de votre action. P> itinéraires.js code>, pas à la fois simultanément. P>
/ compte code> doit être acheminée, ce qui signifie que votre < Code> USERCONTROLLER CODE> -PECIFIC POLITIQUE CONFLIGNE JAMAIS FILE. P>
Il semble y avoir une petite confusion sur la manière dont les politiques, les contrôleurs et les points de vue fonctionnent. Comme @bredikhin note ci-dessus, votre contrôleur ne sera jamais appelé car l'itinéraire est lié à une vue. Il est également important de noter que les stratégies ne peuvent pas être liées à des vues, seulement em> aux contrôleurs. La configuration correcte doit être quelque chose comme: in in config / routes.js code>: p>
config / stratégies.js : P>
module.exports = {
account: function(req, res) {
res.view('home/account');
}
}
ceci 'votre contrôleur ne sera jamais appelé parce que la route est liée à une vue "est une partie très importante de cette réponse
Pour que la statique fonctionne avec des stratégies, vous pouvez définir votre itinéraire avec contrôleur et action: et définir la vue / la mise en page dans votre contrôleur: p> index: function (req, res) {
res.view('auth/login', { layout: 'path/layout' } );
},
Question rapide: Il semble que vous essayez de mettre la logique de stratégie dans le contrôleur (à partir du son du nom "Checklogin", c'est exactement ce qui devrait être fait dans la stratégie isauthenticiated), avez-vous modifié cette politique?