Modify Login-Register-System

This commit is contained in:
VegaZ
2018-09-19 21:20:45 +02:00
parent 9ec0a30988
commit 3da8e4ec3a
5 changed files with 66 additions and 128 deletions

View File

@@ -1,6 +1,6 @@
<!--
* @overview Life of German Reallife - Login Login login.html
* @author Orangebox, VegaZ
* @author Orangebox, hydrant, VegaZ
* @copyright (c) 2008 - 2018 Life of German
*-->
<!DOCTYPE html>
@@ -8,8 +8,6 @@
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css" />
<script src="Dependences/jquery-3.3.1.min.js"></script>
<script src="Dependences/bootstrap-3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
@@ -22,7 +20,7 @@
<div class="register-form form-l">
<input type="password" placeholder="Passwort" id="passwordInputRegister" />
<input type="password" placeholder="Passwort wiederholen" id="passwordRepeatInputRegister" />
<button id="registerBtn">Erstellen</button><br /><br />
<button id="registerBtn">Registrieren</button><br /><br />
<button class="quitBtn">Server verlassen</button>
<p class="message">Bereits registriert? <a href="#">Logg dich ein</a></p>
</div>
@@ -34,63 +32,8 @@
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
resourceCall("RequestDisplayname");
});
$('.message a').click(function () {
$('.form-l').animate({ height: "toggle", opacity: "toggle" }, "slow");
});
$('#registerBtn').click(function () {
var password = $('#passwordInputRegister').val();
var passwordRepeat = $('#passwordRepeatInputRegister').val();
if (password === "" || passwordRepeat === "") {
showError("Mindestens ein Passwort Feld ist leer!");
return;
}
if (password !== passwordRepeat) {
showError("Die beiden Passwörter stimmen nicht überein!")
return;
}
if (password.length < 8 || passwordRepeat.length < 8) {
showError("Das Passwort muss mindestens 8 Zeichen lang sein");
return;
}
resourceCall("Register", password, passwordRepeat);
});
$('#loginBtn').click(function () {
var password = $('#passwordInputLogin').val();
if (password === "") {
showError("Du musst ein Passwort angeben!");
return;
}
resourceCall("Login", password);
});
$('.quitBtn').click(function () {
resourceCall("Quit");
});
function showError(error) {
$('.isa_error').html(error);
$('.isa_error').slideDown();
}
function SendDisplayname(name) {
$("h2#playerName").text(name);
}
</script>
<script src="Dependences/jquery-3.3.1.min.js"></script>
<script src="Dependences/bootstrap-3.3.7/js/bootstrap.min.js"></script>
<script src="login.js" type="text/javascript"></script>
</body>
</html>

View File

@@ -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;
}
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);
}

View File

@@ -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.");
});

View File

@@ -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,7 +21,6 @@ namespace reallife_gamemode.Server.Events
[Command("login")]
public void CmdLogin(Client player)
{
player.Freeze(true);
player.TriggerEvent("showLogin",player);
}
[RemoteEvent("OnPlayerRegister")]
@@ -31,30 +29,11 @@ namespace reallife_gamemode.Server.Events
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();
}
}
}
}

View File

@@ -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
{
}
}