Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 16x 1x 1x 1x 1x 1x 1x 1x 1x | import { Express } from 'express'
import Crowi from 'server/crowi'
// const debug = Debug('crowi:middlewares:loginChecker')
export default (crowi: Crowi, app: Express) => {
return (req, res, next) => {
const User = crowi.model('User')
const csrfKey = (req.session && req.session.id) || 'anon'
Eif (req.csrfToken === null) {
req.csrfToken = crowi.getTokens().create(csrfKey)
}
// session に user object が入ってる
Iif (req.session.user && '_id' in req.session.user) {
User.findById(req.session.user._id, '+password +apiToken', function(err, userData) {
if (err) {
next()
} else {
req.user = req.session.user = userData
res.locals.user = req.user
next()
}
})
} else {
req.user = req.session.user = false
res.locals.user = req.user
next()
}
}
}
|