Rumah  >  Artikel  >  Java  >  Program Java menunjukkan cara melaksanakan pengesahan pengguna

Program Java menunjukkan cara melaksanakan pengesahan pengguna

WBOY
WBOYke hadapan
2023-08-20 16:41:241220semak imbas

Program Java menunjukkan cara melaksanakan pengesahan pengguna

Pengesahan ialah proses mengesahkan identiti seseorang untuk memastikan bahawa pengguna itu benar-benar mereka dakwa sebelum memberikan mereka akses kepada sistem. Adalah penting untuk mengesahkan pengguna untuk memastikan keselamatan dan integriti sistem. Dari masa ke masa, pengesahan telah berkembang menjadi kaedah yang lebih maju dan selamat.

Pada masa kini kaedah pengesahan terdiri daripada ID pengguna, kata laluan dan OTP kepada pengimbasan cap jari, pengimbasan ID muka dan banyak lagi. Pengesahan memastikan bahawa sumber sensitif tidak dikongsi dengan cara yang tidak dibenarkan, melindungi daripada serangan berniat jahat dan mematuhi peraturan privasi data. Secara keseluruhannya, ia memastikan CIA (Kerahsiaan, Integriti dan Ketersediaan) tiga kali ganda sistem.

Terdapat banyak kaedah untuk mengesahkan pengguna di Jawa seperti yang ditunjukkan di bawah −

  • Gunakan tali sahaja

  • Gunakan HashMaps

  • Gunakan kelas pengguna tersuai

  • Menggunakan antara muka

Kami akan melaksanakan kaedah ini sekarang.

Kaedah 1: Hanya gunakan rentetan

Ini adalah pendekatan yang sangat mudah di mana 2 rentetan digunakan untuk menyimpan nama pengguna dan kata laluan sebenar, sah atau betul, dan 2 rentetan digunakan untuk menyimpan nama pengguna dan kata laluan yang dimasukkan oleh orang yang cuba mendapatkan akses. Selepas itu, kami hanya menggunakan kaedah .equals() java untuk membandingkan rentetan nama pengguna dan kata laluan. Jika kedua-duanya kembali benar, iaitu nama pengguna dan kata laluan kedua-duanya sepadan, kami akan mencetak "Pengesahan berjaya" pada konsol Jika mereka tidak sepadan, ini bermakna pengesahan gagal, jadi mesej yang sepadan dipaparkan.

Contoh

public class UserAuthenticationDemo {
   public static void main(String[] args) {
   
      // hardcode the actual username and password
      String validUsername = "user123";
      String validPassword = "password";
      
      // username and password entered by user
      String username = "user123";
      String password = "password";
      
      // Compare the user entered credentials with the actual ones
      if (username.equals(validUsername) && password.equals(validPassword)) {
         System.out.println("Authentication successful!");
      } else {
         System.out.println("Authentication failed.");
      }
   }
}

Output

Authentication successful!

Cara menggunakan HashMap

HashMaps ialah struktur data pasangan nilai kunci, di mana kunci dan nilai boleh terdiri daripada sebarang jenis data. Kunci mestilah unik, cuba memasukkan semula pasangan nilai kunci dengan kunci yang sama akan menyebabkan entri asal ditimpa. HashMaps adalah sebahagian daripada pakej java.util. Pasangan nilai kunci boleh ditambah pada HashMap menggunakan kaedah .put(), manakala nilai boleh ditemui dengan kunci menggunakan kaedah .get() dan kaedah .containsKey() digunakan untuk menyemak sama ada kunci tertentu wujud dalam HashMap.

Contoh

import java.util.HashMap;
public class UserAuthenticationDemo {
   public static void main(String[] args) {
   
      // Create a HashMap to store valid username and password pairs
      HashMap<String, String> validUsers = new HashMap<>();
      validUsers.put("user123", "password");
      validUsers.put("admin", "admin123");
      validUsers.put("superuser", "pAsSW0rd#");
      
      //store the username and password entered by user
      String username="user123";
      String password="password";
      
      // Check if the entered username and password match the valid ones in the HashMap
      if (validUsers.containsKey(username) && validUsers.get(username).equals(password)) {
         System.out.println("Authentication successful!");
      } else {
         System.out.println("Authentication failed.");
      }
   }
}

Output

Authentication successful!

Kaedah 3: Gunakan kelas pengguna tersuai

Di Java, kelas ialah rangka tindakan yang mengandungi sifat dan kaedah asas, manakala objek ialah entiti dalam dunia sebenar.

Contoh

Dalam contoh ini, kami akan mentakrifkan kelas yang mempunyai dua sifat, nama pengguna dan kata laluan, dan dua fungsi pengambil untuk mendapatkan nama pengguna dan kata laluan. Pembina kelas digunakan untuk menetapkan nilai nama pengguna dan kata laluan. Kami kemudian mencipta objek kelas ini dan menyimpan medan nama pengguna dan kata laluan, selepas itu kami menggunakan fungsi pengambil untuk mendapatkan nama pengguna dan kata laluan dan kemudian membandingkannya dengan kelayakan yang dimasukkan oleh pengguna menggunakan kaedah .equals().

public class UserAuthenticationDemo {
   static class User {
      private String username;
      private String password;
      public User(String username, String password) {
         this.username = username;
         this.password = password;
      }
      public String getUsername() {
         return username;
      }
      public String getPassword() {
         return password;
      }
   }
   public static void main(String[] args) {
   
      // Create a User object to store the valid username and password
      User validUser = new User("user123", "password");
      
      //store the username and password entered by user
      String username="user123";
      String password="password";
      
      // Check if the entered username and password match the valid ones in the User object
      if (username.equals(validUser.getUsername()) && password.equals(validUser.getPassword())) {
         System.out.println("Authentication successful!");
      } else {
         System.out.println("Authentication failed.");
      }
   }
}

Output

Authentication successful!

Kaedah 4: Gunakan antara muka

Antara muka ialah pelan tindakan untuk kelas yang membolehkan kami melaksanakan abstraksi. Abstraksi bermaksud menyembunyikan butiran pelaksanaan, sama seperti memandu kereta tanpa mengetahui kerja dalaman. Di sini, kami telah mencipta antara muka yang mengandungi kaedah pengesahan. Antara muka juga boleh dianggap sebagai satu set peraturan yang diikuti oleh kelas dan menyediakan kebolehgunaan semula kod.

Contoh

// Interface for user authentication
interface UserAuthenticator {
   boolean authenticate(String username, String password);
}

// Implementation of user authentication interface
class SimpleUserAuthenticator implements UserAuthenticator {
   private String storedUsername = "myusername";
   private String storedPassword = "mypassword";
   @Override
   public boolean authenticate(String username, String password) {
   
      // Check if the provided credentials match the stored credentials
      if (username.equals(storedUsername) && password.equals(storedPassword)) {
         return true;
      }
      return false;
   }
}

// Main class to demonstrate user authentication
public class UserAuthenticationDemo {
   public static void main(String[] args) {
   
      // Create an instance of the SimpleUserAuthenticator class
      UserAuthenticator authenticator = new SimpleUserAuthenticator();
      
      //store the username and password entered by user
      String username="myusername";
      String password="mypassword";
      
      // Authenticate the user
      if (authenticator.authenticate(username, password)) {
         System.out.println("Authentication successful!");
      } else {
         System.out.println("Authentication failed.");
      }
   }
}

Output

Authentication successful!

Kesimpulan

Pengesahan pengguna adalah sangat penting untuk memastikan kewujudan tiga elemen CIA (kerahsiaan, integriti dan ketersediaan). Tiada orang yang tidak dibenarkan untuk mengakses sebarang jenis maklumat atau data, itulah sebabnya pengesahan pengguna ditambah. Dari masa ke masa, pelbagai kaedah pengesahan seperti kata laluan sekali sahaja, ID log masuk dan kata laluan, biometrik dan lain-lain telah diterima pakai bergantung pada penggunaan. Kami melaksanakan pengesahan pengguna menggunakan Java, menggunakan nama pengguna dan kata laluan sebagai bukti kelayakan log masuk.

Atas ialah kandungan terperinci Program Java menunjukkan cara melaksanakan pengesahan pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam