Finish login-register-system

This commit is contained in:
VegaZ
2018-09-20 20:20:44 +02:00
parent 5bd2fa0522
commit 08adf8d752
2 changed files with 58 additions and 33 deletions

View File

@@ -9,7 +9,6 @@ loginBrowser = mp.browsers.new('package://Login/login.html');
mp.gui.chat.activate(false); mp.gui.chat.activate(false);
mp.gui.cursor.show(true); mp.gui.cursor.show(true);
mp.events.add('loginInformationToServer', (password) => { mp.events.add('loginInformationToServer', (password) => {
mp.events.callRemote('OnPlayerLogin', password); mp.events.callRemote('OnPlayerLogin', password);
@@ -21,11 +20,6 @@ mp.events.add('registerInformationToServer', (password) => {
}); });
mp.events.add('showLogin',() => {
loginBrowser = mp.browsers.new('package://Login/login.html');
mp.gui.cursor.show(true);
});
mp.events.add('registerSuccess', () => { mp.events.add('registerSuccess', () => {
mp.gui.chat.push("Erfolgreich registriert!") mp.gui.chat.push("Erfolgreich registriert!")
if (loginBrowser) if (loginBrowser)
@@ -52,3 +46,19 @@ mp.events.add('loginFail', (reason) => {
mp.gui.chat.push(reason); mp.gui.chat.push(reason);
}); });
mp.events.add('loginDeny', (reason) => {
if (loginBrowser) {
loginBrowser.destroy();
}
mp.gui.cursor.show(false);
mp.gui.chat.activate(true);
mp.gui.chat.push(reason);
});
mp.events.add('registerFail', (reason) => {
mp.gui.chat.push(reason);
});

View File

@@ -17,44 +17,59 @@ namespace reallife_gamemode.Server.Events
[RemoteEvent("OnPlayerLogin")] [RemoteEvent("OnPlayerLogin")]
public void OnPlayerLogin(Client player, string password) public void OnPlayerLogin(Client player, string password)
{ {
string checkPassword = null; using (var loginUser = new Model.DatabaseContext())
using (var loginContext = new Model.DatabaseContext())
{ {
var user = loginContext.Users.SingleOrDefault(b => b.Name == player.Name); var user = loginUser.Users.SingleOrDefault(b => b.Name == player.Name);
if(user.Password == null)
if(user == null)
{ {
player.TriggerEvent("loginFail", "Benutzer existiert nicht! Registriere dich zuerst!"); player.TriggerEvent("loginFail", "Benutzer existiert nicht! Registriere dich zuerst!");
} }
else else
{ {
checkPassword = user.Password; if (user.SocialClubName != player.SocialClubName && user.Password == NAPI.Util.GetHashSha256(password))
} {
} player.TriggerEvent("loginDeny", "Dieser Benutzer gehört dir nicht!");
if(checkPassword == NAPI.Util.GetHashSha256(password)) //Log einbauen für den bösen Bub.
{ player.Kick();
player.TriggerEvent("loginSuccess"); }
} if (user.Password != NAPI.Util.GetHashSha256(password))
else {
{ player.TriggerEvent("loginFail", "Passwort inkorrekt!");
player.TriggerEvent("loginFail","Passwort inkorrekt!"); }
} else
} {
[Command("login")] player.TriggerEvent("loginSuccess");
public void CmdLogin(Client player) }
{ }
player.TriggerEvent("showLogin",player); }
} }
[RemoteEvent("OnPlayerRegister")] [RemoteEvent("OnPlayerRegister")]
public void OnPlayerRegister(Client player, string password) public void OnPlayerRegister(Client player, string password)
{ {
using (var checkUser = new Model.DatabaseContext())
using (var registerContext = new Model.DatabaseContext())
{ {
var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) }; var checkedUser = checkUser.Users.SingleOrDefault(b => b.Name == player.Name);
registerContext.Users.Add(user); if(checkedUser == null)
registerContext.SaveChanges(); {
} using (var registerUser = new Model.DatabaseContext())
player.TriggerEvent("registerSuccess"); {
var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) };
registerUser.Users.Add(user);
registerUser.SaveChanges();
}
player.TriggerEvent("registerSuccess");
}
else if (player.SocialClubName == checkedUser.SocialClubName)
{
player.TriggerEvent("registerFail", "Dieser SocialClubAccount ist schon registriert!");
}
else if (checkedUser.Name == player.Name)
{
player.TriggerEvent("registerFail", "Benutzername existiert schon!");
}
}
} }
} }
} }