Redirect back to previous page when visiting login and sign up pages after user is already logged in

This commit is contained in:
Sahat Yalkabov
2013-12-04 07:44:07 -05:00
parent 3c5f19a6d9
commit 83dbe9c197
5 changed files with 56 additions and 44 deletions

View File

@ -160,7 +160,9 @@ passport.use(new GoogleStrategy({
// Simple route middleware to ensure user is authenticated. Otherwise send to login page.
exports.ensureAuthenticated = function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
if (req.isAuthenticated()) {
return next();
}
res.redirect('/login');
};

View File

@ -17,6 +17,10 @@ exports.account = function(req, res) {
* GET /login
*/
exports.getLogin = function(req, res) {
if (req.user) {
return res.redirect('back');
}
res.render('login', {
title: 'Login',
user: req.user,
@ -48,6 +52,10 @@ exports.postLogin = function(req, res, next) {
* GET /signup
*/
exports.getSignup = function(req, res) {
if (req.user) {
return res.redirect('back');
}
res.render('signup', {
title: 'Create Account',
user: req.user,

View File

@ -6,3 +6,4 @@ body {
padding-top: 60px;
}

View File

@ -176,12 +176,12 @@ a {
}
.github {
background-color: #000;
border-color: #000;
background-color: #666;
border-color: #666;
&:focus,
&:hover {
background-color: transparent;
color: #000;
color: #666;
}
}

View File

@ -1,45 +1,46 @@
extends layout
block content
.login-container
h3.text-center
span.text-primary PROJECT
span.text-muted NAME
form(method='POST')
.form-group
input.form-control(type='text', name='usernameOrEmail', id='usernameOrEmail', placeholder='Username or Email', autofocus='')
.form-group
input.form-control(type='password', name='password', id='password', placeholder='Password')
button(type='submit')
i.fa.fa-chevron-right
.form-options.clearfix
a.pull-right(href='#') Forgot password?
.text-left
label.checkbox
input(type='checkbox')
span Remember me
.row
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-primary.btn-block.facebook(href='/auth/facebook')
i.fa.fa-facebook
| Facebook
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-danger.btn-block.google(href='/auth/google')
i.fa.fa-google-plus
|   Google
.row
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-info.btn-block.twitter(href='/auth/twitter')
i.fa.fa-twitter
|   Twitter
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-default.btn-block.github(href='/auth/github')
i.fa.fa-github
|   GitHub
p Don't have an account yet? 
a(href='signup1.html') Sign up now
.login-wrapper
.login-container
h3.text-center
span.text-primary PROJECT
span.text-muted NAME
form(method='POST')
.form-group
input.form-control(type='text', name='usernameOrEmail', id='usernameOrEmail', placeholder='Username or Email', autofocus='')
.form-group
input.form-control(type='password', name='password', id='password', placeholder='Password')
button(type='submit')
i.fa.fa-chevron-right
.form-options.clearfix
a.pull-right(href='#') Forgot password?
.text-left
label.checkbox
input(type='checkbox')
span Remember me
.row
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-primary.btn-block.facebook(href='/auth/facebook')
i.fa.fa-facebook
| Facebook
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-danger.btn-block.google(href='/auth/google')
i.fa.fa-google-plus
|   Google
.row
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-info.btn-block.twitter(href='/auth/twitter')
i.fa.fa-twitter
|   Twitter
.col-xs-6.col-sm-6.col-md-6
a.btn.btn-default.btn-block.github(href='/auth/github')
i.fa.fa-github
|   GitHub
p Don't have an account yet? 
a(href='/signup') Sign up now
if messages.length
.alert.alert-danger
strong= messages
if messages.length
.alert.alert-danger
strong= messages