Browse Source

Правки авторизации

Alec 4 years ago
parent
commit
fd1bc7261e

BIN
out/production/ExampleJavaList/com/company/Bank.class


BIN
out/production/ExampleJavaList/com/company/Client$1.class


BIN
out/production/ExampleJavaList/com/company/Client.class


BIN
out/production/ExampleJavaList/com/company/Main.class


+ 12 - 3
src/com/company/Bank.java

@@ -165,14 +165,21 @@ public class Bank {
         users.add(user);
     }
 
-    public static boolean authorizedUser(String login, String password) {
+    /**
+     * Авторизация пользователя
+     *
+     * @param login введеный логин
+     * @param password введеный пароль
+     * @return null или объект пользователя
+     */
+    public static User authorizedUser(String login, String password) {
         for (User u : users) {
             if (u.check(login, password)) {
-                return true;
+                return u;
             }
         }
 
-        return false;
+        return null;
     }
 
     /**
@@ -207,6 +214,8 @@ public class Bank {
             if (pointer.getNumber().equals(bill)) {
                 if (pointer.checkPincode(pin)) {
                     return true;
+                } else {
+                    return false;
                 }
             }
 

+ 9 - 4
src/com/company/Client.java

@@ -50,11 +50,17 @@ public class Client extends Thread {
 
                             switch (ut.Type) {
                                 case AUTHORIZATION:
-                                    isAuthorized = Bank.authorizedUser(ut.Login, ut.Password);
-                                    System.out.println(String.format("Пользователь %s авторизовался", ut.Login));
-                                    objectOutputStream.writeObject(new SendMessage("С возвращением!"));
+                                    user = Bank.authorizedUser(ut.Login, ut.Password);
+                                    if (user != null) {
+                                        System.out.println(String.format("Пользователь %s авторизовался", user.getName()));
+                                        objectOutputStream.writeObject(new SendMessage("С возвращением, " + user.getName()));
+                                    } else {
+                                        System.out.println("Пользователь ввел не верный логин/пароль");
+                                        objectOutputStream.writeObject(new SendMessage("Неверный логин/пароль"));
+                                    }
                                     objectOutputStream.flush();
                                     objectOutputStream.reset();
+
                                     continue;
                                 case REGISTRATION:
                                     Bank.registerUser(new User(ut.Name, ut.Phone, ut.Login, ut.Password));
@@ -131,7 +137,6 @@ public class Client extends Thread {
             if (exception.getMessage() != null) {
                 System.out.println(exception.getMessage());
             }
-            interrupt();
         }
 
         System.out.println(new Timestamp(System.currentTimeMillis()) + " Client disconnected: " + socket.getInetAddress().getHostAddress());

+ 2 - 2
src/com/company/Header.java

@@ -12,7 +12,7 @@ enum REQUEST_TYPE {
     BILL,
 }
 
-class UserTransport {
+class UserTransport implements Serializable {
     public USER_TRANSPORT_TYPE Type = USER_TRANSPORT_TYPE.DEFAULT;
     public String Login;
     public String Password;
@@ -26,7 +26,7 @@ enum USER_TRANSPORT_TYPE {
     AUTHORIZATION,
 }
 
-class BillTransport {
+class BillTransport implements Serializable {
     public BILL_TRANSPORT_TYPE TYPE = BILL_TRANSPORT_TYPE.DEFAULT;
     public String BILL_NUMBER;
     public String PIN;

+ 1 - 27
src/com/company/Main.java

@@ -5,39 +5,13 @@ import java.io.IOException;
 public class Main {
 
     public static void main(String[] args) throws Throwable {
-        Bank.setName("Сберыч");
-//        Bank.saveClients();
-        Bank.loadClients();
-//        Bank.saveBills();
-        Bank.loadBills();
-
-        Task task = new Task();
-        task.start();
 
+//        Bank.insert(new User("Vasya", "96300100120", "qwerty", "1234"), 0);
         try {
             Server server = new Server();
             server.Run();
         } catch (IOException exception) {
             System.out.println(exception.getMessage());
         }
-
-        task.interrupt();
-        task.join();
-    }
-}
-
-class Task extends Thread {
-    @Override
-    public void run() {
-        while (!isInterrupted()) {
-
-            Bank.showClientsInfo();
-
-            try {
-                Thread.sleep(5000);
-            } catch (InterruptedException exception) {
-                System.out.println(exception.getMessage());
-            }
-        }
     }
 }

+ 1 - 9
src/com/company/Server.java

@@ -21,7 +21,7 @@ public class Server {
         while (!interrupt) {
             try {
                 Socket clientSocket = socket.accept();
-                System.out.println(new Timestamp(System.currentTimeMillis()) + " Client connected: " + clientSocket.getInetAddress().getHostAddress());
+
                 Client client = new Client(clientSocket);
                 // Добавление клиента в список всех подключенных клиентов
                 clients.add(client);
@@ -42,12 +42,4 @@ public class Server {
             }
         }
     }
-
-    public boolean isInterrupt() {
-        return interrupt;
-    }
-
-    public void Interrupt(boolean interrupt) {
-        this.interrupt = interrupt;
-    }
 }

+ 4 - 0
src/com/company/User.java

@@ -20,6 +20,10 @@ public class User implements Serializable {
         this.uuid = UUID.randomUUID();
     }
 
+    public String getName() {
+        return name;
+    }
+
     public UUID getUuid() {
         return uuid;
     }