我正在編寫一個基於SQL Server,ExpressJs,NodeJS,AngularJs的應用程序,我是一個快速入門者,我需要處理會話,所以我一直在考慮PassportJs,我無法找到將SQL Server與PassportJs集成的文檔,所以我我很困惑,我一直在努力,但我不明白的是,我已經建立了我的快遞發電機的應用程序,所以這是我的app.js如何使用SQL Server配置Passportjs?
護照要求:
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var session = require('express-session');
路線:
var routes = require('./routes/index');
var login = require('./routes/login');
快遞會話:
app.use(session({secret: 'xXxXxXXxX'}));
app.use(passport.initialize());
app.use(passport.session());
app.use('/', routes);
app.use('/login', login);
護照INIT:
var initPassport = require('./r12_modulos/sesion/passport-init.js');
initPassport(passport);
這是我在passport-init.js
:
var conex = require('../conexion_bd/conex_mssql.js');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
module.exports = function() {
passport.serializeUser(function (user, done) {
console.log('serializing user:', user.username);
done(null, user.username);
});
passport.deserializeUser(function (username, done) {
done(null,username);
});
passport.use('login', new LocalStrategy({
passReqToCallback: true
},
function (req, username, password, done) {
var _cParameters = [];
_cParameters.push({ name: 'usuario', type: 'VarChar', value: username });
_cParameters.push({ name: 'password', type: 'NVarChar', value: password });
conex.sp_recordset(conex.mssql_conect, 'dbo.sp_sis_loginR12', _cParameters, function (data) {
if (data[0].response == 1) {
return done(null, data[0].usuario);
}
else {
return done(null, false);
}
});
}
));
};
正如你可以看到我已經寫了一個模塊來執行SQL服務器存儲過程,當我在互聯網上搜索passportjs通常與Mongo集成時,我不知道如何處理passport.serializeUser
和passport.deserializeUser
f與SQL Server聯合。
這是我在路線login.js
什麼:
var express = require('express');
var passport = require('passport');
var router = express.Router();
router.post('/', passport.authenticate('login', {
successRedirect: '/',
failureRedirect: '/login'
}));
module.exports = router;
當我發送POST請求的服務器沒有返回一個錯誤,但不跑我LocalStrategy。