| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- 'use strict'
 
- /* global appdata, rights */
 
- /**
 
-  * Authentication middleware
 
-  *
 
-  * @param      {Express Request}   req     Express Request object
 
-  * @param      {Express Response}  res     Express Response object
 
-  * @param      {Function}          next    Next callback function
 
-  * @return     {any}               void
 
-  */
 
- module.exports = (req, res, next) => {
 
-   // Is user authenticated ?
 
-   if (!req.isAuthenticated()) {
 
-     if (req.app.locals.appconfig.public !== true) {
 
-       return res.redirect('/login')
 
-     } else {
 
-       req.user = rights.guest
 
-       res.locals.isGuest = true
 
-     }
 
-   } else {
 
-     res.locals.isGuest = false
 
-   }
 
-   // Check permissions
 
-   res.locals.rights = rights.check(req)
 
-   if (!res.locals.rights.read) {
 
-     return res.render('error-forbidden')
 
-   }
 
-   // Expose user data
 
-   res.locals.user = req.user
 
-   return next()
 
- }
 
 
  |