mirror of
https://github.com/key-networks/ztncui.git
synced 2025-04-21 11:56:55 +02:00
Improve login redirection
This commit is contained in:
parent
0c3b2effc6
commit
1d8557ac8b
2 changed files with 13 additions and 4 deletions
|
@ -43,6 +43,6 @@ exports.restrict = function(req, res, next) {
|
|||
next();
|
||||
} else {
|
||||
req.session.error = 'Access denied!';
|
||||
res.redirect('/login');
|
||||
res.redirect('/login?redirect=' + encodeURIComponent(req.originalUrl));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,8 +10,17 @@ const authenticate = auth.authenticate;
|
|||
const restrict = auth.restrict;
|
||||
const router = express.Router();
|
||||
|
||||
/** Redirect logged user to controler page */
|
||||
function guest_only(req, res, next) {
|
||||
if (req.session.user) {
|
||||
res.redirect('/controller');
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
/* GET home page. */
|
||||
router.get('/', function(req, res, next) {
|
||||
router.get('/', guest_only, function(req, res, next) {
|
||||
res.render('front_door', {title: 'ztncui'});
|
||||
});
|
||||
|
||||
|
@ -21,7 +30,7 @@ router.get('/logout', function(req, res) {
|
|||
});
|
||||
});
|
||||
|
||||
router.get('/login', function(req, res) {
|
||||
router.get('/login', guest_only, function(req, res) {
|
||||
let message = null;
|
||||
if (req.session.error) {
|
||||
if (req.session.error !== 'Access denied!') {
|
||||
|
@ -40,7 +49,7 @@ router.post('/login', async function(req, res) {
|
|||
req.session.user = user;
|
||||
req.session.success = 'Authenticated as ' + user.name;
|
||||
if (user.pass_set) {
|
||||
res.redirect('/controller');
|
||||
res.redirect(req.query.redirect || '/controller');
|
||||
} else {
|
||||
res.redirect('/users/' + user.name + '/password');
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue