Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var server=http.createServer(function(request, responsehttp) {
- if (request.method == 'POST') {
- var body = '';
- request.on('data', function (data) {
- body += data;
- });
- request.on('end', function () {
- var POST = qs.parse(body);
- processquery(POST, request, responsehttp);
- });
- } else {
- var url_parts = url.parse(request.url, true);
- var query = url_parts.query;
- console.log(query);
- processquery(query, request, responsehttp);
- }
- });
- function processquery(query, request, responsehttp){
- var returnResult = function (data){
- responsehttp.end(JSON.stringify(data));
- };
- if (!query.command) {
- fileprocess(request, responsehttp);
- }
- responsehttp.writeHead(200, {"Content-Type": "application/json"});
- switch(query.command) {
- case 'logout':
- logout(query, returnResult);
- break;
- case 'login':
- login(query, returnResult);
- break;
- }
- }
- function login(request, callback) {
- if(request.username==users[request.username] && request.password==users[request.username].password) {
- users[request.username].auth=true;
- var data = {result:'success','message':'login successful'};
- callback(data);
- } else {
- var data = {result:'error','message':'login incorrect'};
- callback(data);
- }
- }
- function checkAuth(req, res, next) {
- if (!req.session.user_id) {
- res.send('You are not authorized to view this page');
- } else {
- next();
- }
- }
- app.get('/my_secret_page', checkAuth, function (req, res) {
- res.send('if you are viewing this page it means you are logged in');
- });
- app.post('/login', function (req, res) {
- var post = req.body;
- if (post.user === 'john' && post.password === 'johnspassword') {
- req.session.user_id = johns_user_id_here;
- res.redirect('/my_secret_page');
- } else {
- res.send('Bad user/pass');
- }
- });
- app.get('/logout', function (req, res) {
- delete req.session.user_id;
- res.redirect('/login');
- });
- function checkAuth(req, res, next) {
- // if logined or it's login request, then go next route
- if (isLogin || (req.path === '/login' && req.method === 'POST')) {
- next()
- } else {
- res.send('Not logged in yet.')
- }
- }
- app.use('/', checkAuth)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement