Guest User

Untitled

a guest
Feb 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. var models = require('./models'),
  2. Schema = models.Schema;
  3.  
  4. var usuariosSchema = new Schema({
  5. nombre: String,
  6. edad: String,
  7. usuario: String,
  8. password: String,
  9. });
  10.  
  11. var Usuario = models.model('Usuario', usuariosSchema, 'usuario_sesion');
  12.  
  13. exports.registroFuncion = function(req, res, next){
  14. var user = new Usuario({
  15. nombre: req.body.nombre,
  16. edad: req.body.edad,
  17. usuario: req.body.usuario,
  18. password: req.body.pass
  19. });
  20.  
  21. user.save(function(err, usuario){
  22. if(!err){
  23. res.status(201);
  24. next();
  25. }else{
  26. res.status(400);
  27. res.send('Ha ocurrido un problema.');
  28. }
  29. });
  30. };
  31.  
  32. var passport = require('passport'),
  33. passportLocal = require('passport-local'),
  34. LocalStrategy = passportLocal.Strategy;
  35.  
  36. var Usuario = require('./models/usuario');
  37.  
  38. var localConnection = function(app){
  39. passport.use('user', new LocalStrategy({
  40. //Define campos como: "xxx"
  41. usernameField: 'usuario',
  42. passwordField: 'password'
  43. },
  44.  
  45. function(username, password, done){
  46. Usuario.findOne({usuario:username}, function(err, user){
  47. if(err){ return done(err); }
  48. if(!user){
  49. return done(null, false, {message: "Incorrect Username."});
  50. }else{
  51. if(user.password != password){
  52. return done(null, false, {message: "Incorrect Password"});
  53. }else{
  54. //Usuario existe y clave correcta, retorna el usuario
  55. return done(null, user);
  56. }
  57. }
  58. });
  59. }
  60. ));
  61.  
  62. app.post('/login', passport.authenticate('user', {successRedirect: '/user',
  63. failureRedirect: '/error', failureFlash: 'User o pass equivocado.'}));
  64. };
  65.  
  66. module.exports = localConnection;
  67.  
  68. var express = require('express'),
  69. app = express(),
  70. server = require('http').createServer(app);
  71.  
  72. /* Almacenamiento variables de session */
  73. var session = require('express-session');
  74. var RedisStore = require('connect-redis')(session);
  75. var passport = require('passport');
  76. //Flash: Mensajes temporales de respuesta
  77. var flash = require('connect-flash');
  78. /* // */
  79.  
  80. // Recordar activar server en terminal con > redis-server
  81.  
  82. var logger = require('morgan');
  83. var cookieParser = require('cookie-parser');
  84. var bodyParser = require('body-parser');
  85. var path = require('path');
  86. var swig = require('swig');
  87.  
  88. /* Renderizado */
  89. app.engine('html', swig.renderFile);
  90. app.set('view engine', 'html');
  91. app.set('views', __dirname+'/views');
  92.  
  93. app.set('view cache', false);
  94. swig.setDefaults({cache: false});
  95.  
  96. app.use(logger('dev'));
  97. app.use(bodyParser.json());
  98. app.use(bodyParser.urlencoded({extended: true}));
  99. app.use(cookieParser('nextapp'));
  100. app.use(express.static(path.join(__dirname, 'public')));
  101.  
  102. /* Variables de sesion */
  103. app.use(session({
  104. store: new RedisStore({}),
  105. secret: 'nextapp',
  106. resave: true,
  107. saveUninitialized: true,
  108. cookie: {
  109. expires: false,
  110. secure: false
  111. }
  112. }));
  113.  
  114. app.use(passport.initialize());
  115. app.use(passport.session());
  116. app.use(flash());
  117.  
  118. passport.serializeUser(function(user, done){
  119. console.log("Serialize: "+user);
  120. done(null, user);
  121. });
  122.  
  123. passport.deserializeUser(function(obj, done){
  124. console.log("Deserialize: "+obj);
  125. done(null, obj);
  126. });
  127.  
  128. /* Rutas */
  129. var routes = require('./routes/routes');
  130. routes(app);
  131.  
  132. /* Conexiones */
  133. var local = require('./local');
  134.  
  135. /* Server ON */
  136. var port = Number(process.env.PORT || 3000);
  137. server.listen(port, function(){
  138. console.log('Servidor corriendo en localhost:'+port);
  139. });
  140.  
  141. var usuario = require('../controllers/usuario');
  142. var local = require('../local');
  143.  
  144. var routes = function(app){
  145.  
  146. app.get('/', function(req, res){
  147. res.render('login');
  148. });
  149.  
  150. app.get('/user', function(req, res){
  151. res.send("Bienvenido: "+req.session.passport.user.nombre);
  152. });
  153.  
  154. app.get('/error', function(req, res){
  155. res.send(req.session.flash.error[0]);
  156. });
  157.  
  158. app.get('/registro', function(req, res){
  159. res.render('registro');
  160. });
  161.  
  162. app.post('/registro', usuario.registroFuncion, function(req, res){
  163. res.redirect('/');
  164. });
  165.  
  166. app.post('/login', function(req, res){
  167. res.redirect('/user');
  168. });
  169.  
  170. };
  171.  
  172. module.exports = routes;
Add Comment
Please, Sign In to add comment