Advertisement
Guest User

Untitled

a guest
Sep 4th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express'), path = require('path'), fs = require('fs');
  2.  
  3. var app = express();
  4. app.use(express.static(__dirname + '/public'));
  5.  
  6. var podatkiSpomin = ["admin/nimda", "gost/gost"];
  7.  
  8.  
  9. /**
  10.  * TODO: Potrebna je implementacija tega dela funkcionalnosti (PU Zunanja avtentikacija)
  11.  */
  12. app.get('/api/prijava', function(req, res) {
  13.     // ...
  14.     res.send({status: "status", napaka: "Opis napake"});
  15.     // ...
  16. });
  17.  
  18.  
  19. /**
  20.  * TODO: Potrebna je implementacija tega dela funkcionalnosti (PU Prijava uporabnika v sistem)
  21.  */
  22. app.get('/prijava', function(req, res) {
  23.     // ...
  24.     res.send("<html><title>Naslov strani</title><body><p>Uporabnik <b>Krneki</b> nima pravice prijave v sistem!</p></body></html>");
  25.     // ...
  26. });
  27.  
  28.  
  29. var port = process.env.PORT || 3030;
  30. app.listen(port);
  31. console.log('Streznik tece na ' + port + ' ...');
  32.  
  33.  
  34. var podatkiSpomin = ["admin/nimda", "gost/gost"];
  35.  
  36.  
  37. /**
  38.  * TODO: Potrebna je implementacija tega dela funkcionalnosti (branje datoteka na strani strežnika)
  39.  */
  40. var podatkiDatotekaStreznik;
  41.  
  42.  
  43. /**
  44.  * TODO: Potrebna je implementacija tega dela funkcionalnosti
  45.  */
  46. function preveriSpomin(uporabniskoIme, geslo) {
  47.     // ...
  48.     for (var i = 0; i < podatkiSpomin.length; i++) {
  49.         var split = podatkiSpomin[i].split("/");
  50.         if (uporabniskoIme == split[0] && geslo == split[1]) {
  51.             return true;
  52.         }
  53.     }
  54.     return false;
  55.     // ...
  56. }
  57.  
  58.  
  59. /**
  60.  * TODO: Potrebna je implementacija tega dela funkcionalnosti
  61.  */
  62. function preveriDatotekaStreznik(uporabniskoIme, geslo) {
  63.     // ...
  64.     fs.readFileSync("podatki/uporabniki_streznik.json", "utf-8", function(err, data) {
  65.         podatkiDatotekaStreznik = JSON.parse("data");
  66.     })
  67.     for (var i = 0; i < podatkiDatotekaStreznik.length; i++) {
  68.         if (uporabniskoIme == podatkiDatotekaStreznik[i].u && geslo == podatkiDatotekaStreznik[i].p) {
  69.             return true;
  70.         }
  71.     }
  72.         return false;
  73.     // ...
  74. }
  75.  
  76. //.html file
  77.  
  78. <html>
  79.     <head>
  80.         <title>Prijava v sistem</title>
  81.         <link rel="stylesheet" href="css/bootstrap.min.css">
  82.         <script src="js/jquery-1.11.2.min.js"></script>
  83.         <script src="js/bootstrap.min.js"></script>
  84.         <style>
  85.             body { padding:10px; }
  86.             #status { color:red }
  87.         </style>
  88.         <script>
  89.             var podatkiSpomin = ["admin/nimda", "gost/gost"];
  90.             var podatkiDatotekaOdjemalec;
  91.             var uporabniskoIme = "", geslo = "";
  92.            
  93.            
  94.             /**
  95.              * TODO: Potrebna je implementacija tega dela funkcionalnosti
  96.              */
  97.             function preveriSpomin(uporabniskoIme, geslo) {
  98.                 // ...
  99.                 for (var i = 0; i < podatkiSpomin.length; i++) {
  100.                     var split = podatkiSpomin[i].split("/");
  101.                     if (uporabniskoIme == split[0] && geslo == split[1]) {
  102.                         return true;
  103.                     }
  104.                 }
  105.                 return false;
  106.                 // ...
  107.             }
  108.            
  109.            
  110.             /**
  111.              * TODO: Potrebna je implementacija tega dela funkcionalnosti
  112.              */
  113.             function preveriDatotekaOdjemalec(uporabniskoIme, geslo) {
  114.                 // ...
  115.                 for (var i = 0; i < podatkiDatotekaOdjemalec.length; i++) {
  116.                     if (podatkiDatotekaOdjemalec[i].u == uporabniskoIme && podatkiDatotekaOdjemalec[i].p == geslo) {
  117.                         return true;
  118.                     }
  119.                 }
  120.                 return false;
  121.                 // ...
  122.             }
  123.  
  124.  
  125.             /**
  126.              * TODO: Potrebna je implementacija tega dela funkcionalnosti (ta funkcija se kliče ob kliku gumba "Prijava")
  127.              * Če validacija na odjemalcu ni uspešna, naj vrača false, sicer naj vrne true in izvajanje se nadaljuje na strežniku.
  128.              * Zahteva se posreduje na /prijava, kot je zapisano v atributu action="/prijava" v okviru elementa form.
  129.              */
  130.             function preveriPodatke() {
  131.                     var user = $("#uporabniskoIme").val();
  132.                     var pass = $("#geslo").val();
  133.                 // ...
  134.                 if (preveriSpomin(user, pass) == true || preveriDatotekaOdjemalec(user, pass) == true) {
  135.                    
  136.                     return true;
  137.                 }
  138.                 return false;
  139.                 // ...
  140.             }
  141.            
  142.            
  143.             $(document).ready(function() {
  144.                 /**
  145.                  * TODO: Potrebna je implementacija tega dela funkcionalnosti (branje datotek na odjemalcu)
  146.                  */
  147.                  // ...
  148.                  $.getJSON("podatki/uporabniki_odjemalec.json", function(data) {
  149.                     podatkiDatotekaOdjemalec = data;
  150.                  });
  151.                  
  152.                  // ...
  153.             });
  154.         </script>
  155.     </head>
  156.     <body>
  157.         <form action="/prijava" onsubmit="return preveriPodatke();">
  158.             <div class="row">
  159.               <div class="col-md-2 col-md-offset-5">
  160.                 <div class="form-group">
  161.                     <label for="uporabniskoIme">Uporabniško ime</label>
  162.                     <input type="text" class="form-control" placeholder="Vnesi uporabniško ime" id="uporabniskoIme" name="uporabniskoIme">
  163.                 </div>
  164.                 <div class="form-group">
  165.                     <label for="geslo">Geslo</label>
  166.                     <input type="password" class="form-control" placeholder="Vnesi geslo" id="geslo" name="geslo">
  167.                 </div>
  168.                 <div class="row">
  169.                     <div class="col-md-12"><button type="submit" class="btn btn-default btn-sm" id="prijava">Prijava</button></div>
  170.                 </div>
  171.                 <div class="row"><div class="col-md-12" style="margin-top:20px" id="status"></div></div>
  172.               </div>
  173.             </div>
  174.         </form>
  175.     </body>
  176. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement