1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
module.exports = (passport) ->
new: (req, res) ->
res.render('sessions/new',
layout: 'layout',
js: (-> global.js),
css: (-> global.css)
)
create: (req, res, next) ->
passport.authenticate('local', (err, user, info) ->
if (err)
return next(err)
if (!user)
return res.render('sessions/new',
layout: 'layout',
js: (-> global.js),
css: (-> global.css),
badpw: true
)
req.login(user, (err) ->
if (err)
return next(err)
re = new RegExp(user.username, 'g')
if req.session.redirect? and re.test(req.session.redirect)
url = req.session.redirect
url ?= "/#{user.username}"
delete req.session.redirect
return res.redirect(url)
)
)(req, res, next)
destroy: (req, res) ->
req.logout()
res.redirect('/login')
|