From 3da8e4ec3a5e68d37ebb5fe2dcf9a5bc7a6fcf9c Mon Sep 17 00:00:00 2001 From: VegaZ Date: Wed, 19 Sep 2018 21:20:45 +0200 Subject: [PATCH] Modify Login-Register-System --- Client/Login/login.html | 67 +++------------------------------- Client/Login/login.js | 57 ++++++++++++++++++++++++----- Client/Login/main.js | 25 +++++-------- Server/Events/Login.cs | 27 ++------------ Server/Services/HashService.cs | 18 --------- 5 files changed, 66 insertions(+), 128 deletions(-) delete mode 100644 Server/Services/HashService.cs diff --git a/Client/Login/login.html b/Client/Login/login.html index c8aa0a1c..104e6d8e 100644 --- a/Client/Login/login.html +++ b/Client/Login/login.html @@ -1,15 +1,13 @@  - - - + @@ -22,7 +20,7 @@
-

+

Bereits registriert? Logg dich ein

@@ -34,63 +32,8 @@ - - + + \ No newline at end of file diff --git a/Client/Login/login.js b/Client/Login/login.js index 69670ba6..9069a093 100644 --- a/Client/Login/login.js +++ b/Client/Login/login.js @@ -4,18 +4,57 @@ * @copyright (c) 2008 - 2018 Life of German */ -$('#loginBtn').click(() => { - $('.alert').remove(); //Remove any alerts when we attempt to login/register - mp.trigger('loginInformationToServer', $('#passwordInputLogin').val()); + +$('.message a').click(function () { + $('.form-l').animate({ height: "toggle", opacity: "toggle" }, "slow"); }); -$('#registerBtn').click(() => { - $('.alert').remove(); //Remove any alerts when we attempt to login/register - if ($('#passwordInputRegister').val().length < 8) { +$('#registerBtn').click(function () { + + var password = $('#passwordInputRegister').val(); + var passwordRepeat = $('#passwordRepeatInputRegister').val(); + mp.gui.chat.push(password.length); + if (password === "" || passwordRepeat === "") { + showError("Mindestens ein Passwort Feld ist leer!"); return; } - else { - mp.trigger('registerInformationToServer', $('#passwordInputRegister').val()); + + if (password !== passwordRepeat) { + showError("Die beiden Passwörter stimmen nicht überein!") + return; } -}); \ No newline at end of file + if (password.length < 8) { + showError("Das Passwort muss mindestens 8 Zeichen lang sein"); + return; + } + + mp.gui.chat.push(password.length); + mp.trigger('registerInformationToServer', password); +}); + +$('#loginBtn').click(function () { + + var password = $('#passwordInputLogin').val(); + + if (password === "") { + showError("Du musst ein Passwort angeben!"); + return; + } + + mp.trigger('loginInformationToServer', password); + +}); + +$('.quitBtn').click(function () { + resourceCall("Quit"); +}); + +function showError(error) { + $('.isa_error').html(error); + $('.isa_error').slideDown(); +} + +function SendDisplayname(name) { + $("h2#playerName").text(name); +} \ No newline at end of file diff --git a/Client/Login/main.js b/Client/Login/main.js index fd346614..01a7c4fe 100644 --- a/Client/Login/main.js +++ b/Client/Login/main.js @@ -6,34 +6,29 @@ let loginBrowser; -mp.events.add('loginInformationToServer', (username, password) => { +mp.events.add('loginInformationToServer', (password) => { - mp.events.callRemote('OnPlayerLogin', username, password); + mp.events.callRemote('OnPlayerLogin', password); }); -mp.events.add('registerInformationToServer', (username, password) => { - - mp.events.callRemote('OnPlayerRegister', username, password); +mp.events.add('registerInformationToServer', (password) => { + mp.gui.chat.push("registerInformationToServer called"); + mp.events.callRemote('OnPlayerRegister', password); }); -/* -mp.events.add('browserCreated', (browser) => { - mp.gui.chat.push("Browser created"); - mp.gui.chat.activate(false); - mp.gui.cursor.show(true); -}); -*/ mp.events.add('showLogin', (player) => { - mp.gui.chat.push("show login"); loginBrowser = mp.browsers.new('package://Login/login.html'); + mp.gui.cursor.show(true); + mp.gui.cursor.visible = true; }); mp.events.add('registerSuccess', (player) => { - loginBrowser.destroy(); mp.gui.chat.activate(true); - player.outputChatBox("Erfolgreich registriert"); + mp.gui.cursor.show(false); + mp.gui.cursor.visible = false; + mp.gui.chat.push("Erfolgreich registriert."); }); diff --git a/Server/Events/Login.cs b/Server/Events/Login.cs index c4db02ee..cf3362f2 100644 --- a/Server/Events/Login.cs +++ b/Server/Events/Login.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Text; using GTANetworkAPI; -using System.Security.Cryptography; /** * @overview Life of German Reallife - Event Login (Login.cs) @@ -22,39 +21,19 @@ namespace reallife_gamemode.Server.Events [Command("login")] public void CmdLogin(Client player) { - player.Freeze(true); player.TriggerEvent("showLogin",player); } [RemoteEvent("OnPlayerRegister")] public void OnPlayerRegister(Client player, string password) { - + using (var loginContext = new Model.DatabaseContext()) { - var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = ComputeSha256Hash(password) }; + var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) }; loginContext.Users.Add(user); loginContext.SaveChanges(); } - NAPI.Chat.SendChatMessageToPlayer(player, "Registriert, GZ"); player.TriggerEvent("registerSuccess"); - } - - static string ComputeSha256Hash(string rawData) - { - // Create a SHA256 - using (SHA256 sha256Hash = SHA256.Create()) - { - // ComputeHash - returns byte array - byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData)); - - // Convert byte array to a string - StringBuilder builder = new StringBuilder(); - for (int i = 0; i < bytes.Length; i++) - { - builder.Append(bytes[i].ToString("x2")); - } - return builder.ToString(); - } - } + } } } diff --git a/Server/Services/HashService.cs b/Server/Services/HashService.cs deleted file mode 100644 index ae5c3a09..00000000 --- a/Server/Services/HashService.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Security.Cryptography; - -/** -* @overview Life of German Reallife - Event Login (Login.cs) -* @author VegaZ -* @copyright (c) 2008 - 2018 Life of German -*/ - -namespace reallife_gamemode.Server.Services -{ - class HashService - { - - } -}