From a495798aee2dff8bc18f040522dc9d831d8e9a56 Mon Sep 17 00:00:00 2001 From: Lukas-Heiligenbrunner Date: Fri, 20 Sep 2019 16:46:13 +0200 Subject: [PATCH] login page --- src/main.java | 12 ++-- src/{ => website}/Webserver.java | 56 +++++++++++++++--- wwwroot/css/index.css | 91 +++++++++++++++++++++++++++-- wwwroot/css/login.css | 89 ----------------------------- wwwroot/css/settings.css | 8 +++ wwwroot/index.html | 98 +++++++++++++++++++------------- wwwroot/js/index.js | 17 +++++- wwwroot/js/settings.js | 3 + wwwroot/login.html | 67 ---------------------- wwwroot/settings.html | 54 ++++++++++++++++++ 10 files changed, 277 insertions(+), 218 deletions(-) rename src/{ => website}/Webserver.java (58%) delete mode 100644 wwwroot/css/login.css create mode 100644 wwwroot/css/settings.css create mode 100644 wwwroot/js/settings.js delete mode 100644 wwwroot/login.html create mode 100644 wwwroot/settings.html diff --git a/src/main.java b/src/main.java index 0f2e82d..ccbea8e 100644 --- a/src/main.java +++ b/src/main.java @@ -7,12 +7,12 @@ public class main { D.getdata(); D.printList(); */ -// Thread mythread = new Thread(() -> new Webserver().startserver()); -// mythread.start(); -// -// -// System.out.println("thread started"); + Thread mythread = new Thread(() -> new website.Webserver().startserver()); + mythread.start(); - new jdcb().executeQuery("select * from user"); + + System.out.println("thread started"); + + //new jdcb().executeQuery("select * from user"); } } diff --git a/src/Webserver.java b/src/website/Webserver.java similarity index 58% rename from src/Webserver.java rename to src/website/Webserver.java index 8383c26..9b5f370 100644 --- a/src/Webserver.java +++ b/src/website/Webserver.java @@ -1,3 +1,5 @@ +package website; + import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; @@ -7,8 +9,12 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; +import java.math.BigInteger; import java.net.InetSocketAddress; import java.net.URI; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; public class Webserver{ public void startserver(){ @@ -20,18 +26,38 @@ public class Webserver{ e.printStackTrace(); } - server.createContext("/", new MyHandler()); + server.createContext("/", new MainPage()); - //receiving get and post data todo - server.createContext("/senddata/test", new HttpHandler() { - @Override - public void handle(HttpExchange httpExchange) throws IOException { - if (httpExchange.getRequestMethod().equals("GET")){ - String query = httpExchange.getRequestURI().getQuery(); - System.out.println(query); + server.createContext("/senddata/loginget", httpExchange -> { + if (httpExchange.getRequestMethod().equals("GET")){ + String query = httpExchange.getRequestURI().getQuery(); + System.out.println(query); + HashMap params = new HashMap<>(); + + String[] res = query.split("&"); + for (String str : res){ + String[] values = str.split("="); + params.put(values[0],values[1]); } + String password = params.get("password"); + String username = params.get("username"); + + System.out.println(StringToMD5(password)); + //TODO check if user exists in database + + + //send response + String response = "{\"accept\": true}"; + + Headers h = httpExchange.getResponseHeaders(); + h.set("Content-Type", "application/json"); + httpExchange.sendResponseHeaders(200, 0); + + OutputStream os = httpExchange.getResponseBody(); + os.write(response.getBytes()); + os.close(); } }); @@ -39,7 +65,19 @@ public class Webserver{ server.start(); } - static class MyHandler implements HttpHandler { + public String StringToMD5(String value){ + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] messageDigest = md.digest(value.getBytes()); + BigInteger no = new BigInteger(1, messageDigest); + return no.toString(16); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return ""; + } + } + + static class MainPage implements HttpHandler { @Override public void handle(HttpExchange t) throws IOException { System.out.println("a new request..."); diff --git a/wwwroot/css/index.css b/wwwroot/css/index.css index b8c2609..98b3b7d 100644 --- a/wwwroot/css/index.css +++ b/wwwroot/css/index.css @@ -1,8 +1,89 @@ -.test{ - background-color: #7F7F7F; +/* Made with love by Mutiullah Samim*/ + +@import url('https://fonts.googleapis.com/css?family=Numans'); + +html,body{ +background-image: url('../rsc/login2.jpg'); +background-size: cover; +background-repeat: no-repeat; +height: 100%; +font-family: 'Numans', sans-serif; } -.optionsarray{ - margin-left: 20mm; - margin-top: 20mm; +.container{ +height: 100%; +align-content: center; +} + +.card{ +height: 370px; +margin-top: auto; +margin-bottom: auto; +width: 400px; +background-color: rgba(0,0,0,0.5) !important; +} + +.social_icon span{ +font-size: 60px; +margin-left: 10px; +color: #FFC312; +} + +.social_icon span:hover{ +color: white; +cursor: pointer; +} + +.card-header h3{ +color: white; +} + +.social_icon{ +position: absolute; +right: 20px; +top: -45px; +} + +.input-group-prepend span{ +width: 50px; +background-color: #FFC312; +color: black; +border:0 !important; +} + +input:focus{ +outline: 0 0 0 0 !important; +box-shadow: 0 0 0 0 !important; + +} + +.remember{ +color: white; +} + +.remember input +{ +width: 20px; +height: 20px; +margin-left: 15px; +margin-right: 5px; +} + +.login_btn{ +color: black; +background-color: #FFC312; +width: 100px; +} + +.login_btn:hover{ +color: black; +background-color: white; +} + +.links{ +color: white; +} + +.links a{ +margin-left: 4px; } diff --git a/wwwroot/css/login.css b/wwwroot/css/login.css deleted file mode 100644 index 98b3b7d..0000000 --- a/wwwroot/css/login.css +++ /dev/null @@ -1,89 +0,0 @@ -/* Made with love by Mutiullah Samim*/ - -@import url('https://fonts.googleapis.com/css?family=Numans'); - -html,body{ -background-image: url('../rsc/login2.jpg'); -background-size: cover; -background-repeat: no-repeat; -height: 100%; -font-family: 'Numans', sans-serif; -} - -.container{ -height: 100%; -align-content: center; -} - -.card{ -height: 370px; -margin-top: auto; -margin-bottom: auto; -width: 400px; -background-color: rgba(0,0,0,0.5) !important; -} - -.social_icon span{ -font-size: 60px; -margin-left: 10px; -color: #FFC312; -} - -.social_icon span:hover{ -color: white; -cursor: pointer; -} - -.card-header h3{ -color: white; -} - -.social_icon{ -position: absolute; -right: 20px; -top: -45px; -} - -.input-group-prepend span{ -width: 50px; -background-color: #FFC312; -color: black; -border:0 !important; -} - -input:focus{ -outline: 0 0 0 0 !important; -box-shadow: 0 0 0 0 !important; - -} - -.remember{ -color: white; -} - -.remember input -{ -width: 20px; -height: 20px; -margin-left: 15px; -margin-right: 5px; -} - -.login_btn{ -color: black; -background-color: #FFC312; -width: 100px; -} - -.login_btn:hover{ -color: black; -background-color: white; -} - -.links{ -color: white; -} - -.links a{ -margin-left: 4px; -} diff --git a/wwwroot/css/settings.css b/wwwroot/css/settings.css new file mode 100644 index 0000000..b8c2609 --- /dev/null +++ b/wwwroot/css/settings.css @@ -0,0 +1,8 @@ +.test{ + background-color: #7F7F7F; +} + +.optionsarray{ + margin-left: 20mm; + margin-top: 20mm; +} diff --git a/wwwroot/index.html b/wwwroot/index.html index ac87436..4c83c34 100644 --- a/wwwroot/index.html +++ b/wwwroot/index.html @@ -2,53 +2,69 @@ - + Login Page + - - + + - - + + - - + + - - + + + + - - - - - - -
-
- - -
-
- - -
-
+ + + + + +
+
+
+
+

Sign In

+
+
+
+
+
+ +
+ - +
+
+
+ +
+ +
+
+ Remember Me +
+
+ +
+
+
+ +
+
+
+ diff --git a/wwwroot/js/index.js b/wwwroot/js/index.js index 03c34b5..f0bd61e 100644 --- a/wwwroot/js/index.js +++ b/wwwroot/js/index.js @@ -1,3 +1,18 @@ $(document).ready(function() { - console.log("hey from js"); + $('#loginbtn').click(function(e) { + e.preventDefault(); + console.log("clicked login button"); + var username = $("#userfield")[0].value; + var password = $("#passfield")[0].value; + + $.get('/senddata/loginget?username='+username+'&password='+password,function(data){ + + console.log(data); + if (data.accept == true) { + console.log("successfully logged in!"); + document.cookie = "username="+username; + window.location = 'settings.html'; + } + },'json'); + }); }); diff --git a/wwwroot/js/settings.js b/wwwroot/js/settings.js new file mode 100644 index 0000000..03c34b5 --- /dev/null +++ b/wwwroot/js/settings.js @@ -0,0 +1,3 @@ +$(document).ready(function() { + console.log("hey from js"); +}); diff --git a/wwwroot/login.html b/wwwroot/login.html deleted file mode 100644 index 11c2d40..0000000 --- a/wwwroot/login.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - Login Page - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Sign In

-
-
-
-
-
- -
- - -
-
-
- -
- -
-
- Remember Me -
-
- -
-
-
- -
-
-
- - diff --git a/wwwroot/settings.html b/wwwroot/settings.html new file mode 100644 index 0000000..517ad74 --- /dev/null +++ b/wwwroot/settings.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + +
+
+ + + +