Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Для чего этот код вы можете найти на сайте www.GTA-Dev.ru в разделе "Мануалы и уроки" для GT-MP
- */
- using GrandTheftMultiplayer.Server.API;
- using GrandTheftMultiplayer.Server.Elements;
- using GrandTheftMultiplayer.Server.Managers;
- using Insight.Database;
- using Insight.Database.Providers.MySql;
- using MySql.Data.MySqlClient;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using BCr = BCrypt.Net;
- namespace NewProject
- {
- public class Main : Script
- {
- public static MySqlConnectionStringBuilder _database;
- public static IUserRepository _userRepository;
- public Main()
- {
- API.onResourceStart += API_onResourceStart;
- }
- private void API_onResourceStart()
- {
- MySqlInsightDbProvider.RegisterProvider();
- _database = new MySqlConnectionStringBuilder("server=localhost;user=gta-dev.ru;database=newserver;port=3306;password=123456;");\
- _userRepository = _database.Connection().As<IUserRepository>();
- }
- [Command("ul", GreedyArg = true)]
- public void CMD_UserLogin(Client player, string password)
- {
- UserAccount account = _userRepository.GetAccount(player.name);
- bool isPasswordCorrect = BCr.BCrypt.Verify(password, account.Hash);
- if(isPasswordCorrect)
- {
- API.sendChatMessageToPlayer(player, "Вы успешно авторизовались");
- }
- else
- {
- API.sendChatMessageToPlayer(player, "Пароль не верный");
- }
- }
- [Command("ur", GreedyArg = true)]
- public void CMD_UserRegister(Client player, string password)
- {
- var hash = BCr.BCrypt.HashPassword(password, BCr.BCrypt.GenerateSalt(12));
- UserAccount account = new UserAccount
- {
- UserName = player.name,
- Hash = hash
- };
- _userRepository.RegisterAccount(account);
- API.sendChatMessageToPlayer(player, "Вы успешно зарегистрировались");
- }
- }
- public interface IUserRepository
- {
- UserAccount RegisterAccount(UserAccount userAccount);
- UserAccount GetAccount(string name);
- }
- public class UserAccount
- {
- public string UserName { get; set; }
- public string Hash { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement