2
大家好我正在實施一個角度的應用程序與Node.js運行在後端。我設置會話角JS,我已經使我自己的工廠,因爲我使用套接字。 io在我的節點js服務器,我也從node.js服務器路由應用程序。我想限制未經身份驗證的用戶訪問該頁面,但是我必須檢索我無法這樣做的node.js服務器中的會話值。我附上我的代碼片段。無法在Node.JS中檢索會話
Server.js
var fs = require('fs');
var express = require('express');
var https = require('https');
var path = require('path');
var options = {
key: fs.readFileSync(path.join(__dirname, 'fake-keys/privkey.pem')),
cert: fs.readFileSync(path.join(__dirname, 'fake-keys/fullchain.pem')),
ca: fs.readFileSync(path.join(__dirname, 'fake-keys/chain.pem'))
};
var PORT = 9001;
var HOST = '192.168.1.2';
app = express();
app.use(express.static(__dirname));
server = https.createServer(options, app).listen(PORT, HOST);
console.log('HTTPS Server listening on %s:%s', HOST, PORT);
// routes
app.get('/', function(req, res) {
res.sendfile(path.join(__dirname,'/index.html'));
});
app.get('/Admin', function(req, res) {
res.sendfile(path.join(__dirname,'/view/Admin.html'));
});
app.get('/Guest', function(req, res) {
res.sendfile(path.join(__dirname,'/view/Guest.html'));
});
require('./Signaling-Server.js')(server, function(socket) {
try {
var params = socket.handshake.query;
if (!params.socketCustomEvent) {
params.socketCustomEvent = 'custom-message';
}
socket.on(params.socketCustomEvent, function(message) {
try {
socket.broadcast.emit(params.socketCustomEvent, message);
} catch (e) {}
});
} catch (e) {}
});
會話服務
var myApp = angular.module('SessionService', []);
myApp.factory('SessionService', ['$http', function ($http) {
return {
set: function (key, value) {
return sessionStorage.setItem(key, value);
},
get: function() {
return sessionStorage.getItem(key);
},
destroy: function() {
return sessionStorage.removeItem(key);
}
};
}])
我想在我的服務器的NodeJS會話值,這樣我可以跟蹤哪些被認證的用戶或不。