mirror of
https://github.com/key-networks/ztncui.git
synced 2025-06-05 01:33:44 +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();
|
next();
|
||||||
} else {
|
} else {
|
||||||
req.session.error = 'Access denied!';
|
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 restrict = auth.restrict;
|
||||||
const router = express.Router();
|
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. */
|
/* GET home page. */
|
||||||
router.get('/', function(req, res, next) {
|
router.get('/', guest_only, function(req, res, next) {
|
||||||
res.render('front_door', {title: 'ztncui'});
|
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;
|
let message = null;
|
||||||
if (req.session.error) {
|
if (req.session.error) {
|
||||||
if (req.session.error !== 'Access denied!') {
|
if (req.session.error !== 'Access denied!') {
|
||||||
|
@ -40,7 +49,7 @@ router.post('/login', async function(req, res) {
|
||||||
req.session.user = user;
|
req.session.user = user;
|
||||||
req.session.success = 'Authenticated as ' + user.name;
|
req.session.success = 'Authenticated as ' + user.name;
|
||||||
if (user.pass_set) {
|
if (user.pass_set) {
|
||||||
res.redirect('/controller');
|
res.redirect(req.query.redirect || '/controller');
|
||||||
} else {
|
} else {
|
||||||
res.redirect('/users/' + user.name + '/password');
|
res.redirect('/users/' + user.name + '/password');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue