Pārlūkot izejas kodu

Add authentication to view logs

Matt Coles 9 gadi atpakaļ
vecāks
revīzija
a739dcdba3
3 mainītis faili ar 23 papildinājumiem un 0 dzēšanām
  1. 1 0
      .gitignore
  2. 21 0
      index.js
  3. 1 0
      package.json

+ 1 - 0
.gitignore

1
 node_modules/
1
 node_modules/
2
+logpasswd
2
 log/
3
 log/
3
 ssl/
4
 ssl/
4
 tags
5
 tags

+ 21 - 0
index.js

5
 var route_manager = require("./utils/route-manager.js");
5
 var route_manager = require("./utils/route-manager.js");
6
 var scheduler = require("./presenters/schedule-controller.js");
6
 var scheduler = require("./presenters/schedule-controller.js");
7
 var bodyParser = require('body-parser');
7
 var bodyParser = require('body-parser');
8
+var basic_auth = require('basic-auth');
8
 var FileStreamRotator = require('file-stream-rotator');
9
 var FileStreamRotator = require('file-stream-rotator');
9
 var morgan = require('morgan');
10
 var morgan = require('morgan');
10
 var fs = require('fs');
11
 var fs = require('fs');
11
 var logDirectory = 'log'
12
 var logDirectory = 'log'
13
+var log_passwd = fs.readFileSync('logpasswd');
12
 var production = process.argv[2];
14
 var production = process.argv[2];
13
 
15
 
14
 scheduler.register_existing_events();
16
 scheduler.register_existing_events();
15
 
17
 
18
+var auth = function (req, res, next) {
19
+  function unauthorized(res) {
20
+    res.set('WWW-Authenticate', 'Basic realm=Authorization Required');
21
+    return res.send(401);
22
+  };
23
+
24
+  var user = basicAuth(req);
25
+
26
+  if (!user || !user.name || !user.pass) {
27
+    return unauthorized(res);
28
+  };
29
+
30
+  if (user.name === 'admin' && user.pass === log_passwd) {
31
+    return next();
32
+  } else {
33
+    return unauthorized(res);
34
+  };
35
+};
36
+
16
 // ensure log directory exists
37
 // ensure log directory exists
17
 fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory)
38
 fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory)
18
 
39
 

+ 1 - 0
package.json

13
   "author": "Matt",
13
   "author": "Matt",
14
   "license": "MIT",
14
   "license": "MIT",
15
   "dependencies": {
15
   "dependencies": {
16
+    "basic-auth": "^1.0.3",
16
     "bcrypt-nodejs": "0.0.3",
17
     "bcrypt-nodejs": "0.0.3",
17
     "body-parser": "^1.15.0",
18
     "body-parser": "^1.15.0",
18
     "express": "^4.13.4",
19
     "express": "^4.13.4",