مشکل در لاگین کردن به داشبورد

3 سال پیش توسط برسام مطرح شد
آفلاین
user-avatar
برسام ( 50 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام وقت بخیر @hesammousavi
من موقع لاگین کردم میخوام وارد داشبورد بشم ولی اجازه نمیده و کرش میکنه، کل کدهامو بررسی کردم همه درست بودن حتی قبل از لاگین کردن اگه فیلدی خالی باشه ارور هاشو بهم نشون میده، فقط یه نکته ای که فکر میکنم مشکل از اینجا باشه اینه که توی این کدهایی پایین که نوشتم زیر قسمت :

('local-login', { failureRedirect: '/dashboard/login' })

خط کشیده و این پیغام رو میده که نباید از 4 تا آرگومان استفاده کنی و باید نهایت 3 تا باشه که نمیدونم چجوری حلش کنم. اینم کدهای کامل فایل dashboard.js :

var express = require('express');
var router = express.Router();
var User = require('./model/user');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

function isLoggedIn(req, res, next) {
    if (req.isAuthenticated()) {
        next();
        return;
    }
    res.redirect('/dashboard/login');
}

router.get('/' , isLoggedIn, function (req , res) {
    res.json(req.user);
});

router.get('/login' , function (req , res) {
    res.render('login.pug' , {
        title : "Login Page"
    });
});

passport.serializeUser(function(user, done) {
    done(null, user.id);
});

passport.deserializeUser(function(id, done) {
    User.findById(id, function (err, user) {
        done(err, user);
    });
});

passport.use('local-login', new LocalStrategy({
    usernameField: 'email',
    passwordField: 'password'
    },
    function (email , password, done) {
        User.findOne({ email: email }, function (err, user) {
            if (err) {
                return done(err);
            }

            if (!user) {
               return done(null, false, {});
            }

            if (!User.validPassword(password, use.password)) {
                return done(null, false, {});
            }

            return done(null, user);

        });
    }
));

router.post('/login' , function (req, res , next) {
    var email = req.body.email;
    var password = req.body.password;

    req.checkBody('email' , 'The email Field is required').notEmpty();
    req.checkBody('password' , 'The password Field is required').notEmpty();

    var errors = req.validationErrors();
    if (errors) {
        res.render('login.pug' , {
            title : 'Login Page',
            errors : errors
        });
        return;
    }

    next();
},
passport.authenticate('local-login', { failureRedirect: '/dashboard/login' }) , function (req , res) {
    console.log('login success');
    res.redirect('/dashboard');
});

router.get('/register' , function (req , res) {
    res.render('register.pug' , {
       title : "register page"
    });
});

router.post('/register' , function (req , res) {
    let name = req.body.name;
    let email = req.body.email;
    let password = req.body.password;
    let password_confirm = req.body.password_confirm;

    req.checkBody('name' , 'The Name Field is required').notEmpty();
    req.checkBody('email' , 'The email Field is required').notEmpty();
    req.checkBody('email' , 'The email must be a valid email address').isEmail();
    req.checkBody('password' , 'The password Field is required').notEmpty();
    req.checkBody('password_confirm' , 'The password confirm Field is required').notEmpty();
    req.checkBody('password_confirm' , 'password do not match').equals(password);

    let errors = req.validationErrors();
    if (errors) {
        res.render('register.pug' , {
           title : 'Register Page',
           errors : errors,
           name : name,
           email : email
        });
        return;
    }
    let newUser = new User({
        name: name,
        email: email,
        password: User.generateHash(password)
    });

    newUser.save(function (err) {
        if (err) throw err;

        res.redirect('/dashboard/login');
    });
});

module.exports = router;

و در نهایت اروری که توی ترمینال بهم نشون میده اینه:

server running at localhost:3000  
(node:11780) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.  
events.js:167  
throw er; // Unhandled 'error' event  
^

ReferenceError: use is not defined  
at C:UsersAdminDesktop odejsdashboard.js:49:47  
at C:UsersAdminDesktop odejs ode_modulesmongooselibmodel.js:4475:16  
at process.nextTick (C:UsersAdminDesktop odejs ode_modulesmongooselibquery.js:2526:28)  
at process._tickCallback (internal/process/next_tick.js:61:11)  
Emitted 'error' event at:  
at C:UsersAdminDesktop odejs ode_modulesmongooselibmodel.js:4477:13  
at process.nextTick (C:UsersAdminDesktop odejs ode_modulesmongooselibquery.js:2526:28)  
at process._tickCallback (internal/process/next_tick.js:61:11)  
[nodemon] app crashed - waiting for file changes before starting...  
بهترین پاسخ
آفلاین
user-avatar
EW
3 سال پیش

اشتباهیی نوشتید

use.password

باید بنویسید

user.password
آفلاین
user-avatar
EW ( 16520 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

1

اشتباهیی نوشتید

use.password

باید بنویسید

user.password
آفلاین
user-avatar
برسام ( 50 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

ممنونم، درست شد.

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.