Kelas pengesah Java digunakan untuk mengesahkan sambungan rangkaian. Kelas ini ialah kelas Java standard. Kelas pengesah digunakan dalam aplikasi yang memerlukan pengesahan pengguna untuk mengakses URL tertentu. Kelas pengesah melakukan pengesahan dengan menggesa pengguna untuk maklumat kelayakan seperti nama pengguna dan kata laluan.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Untuk melaksanakan pengesahan dalam aplikasi, aplikasi perlu melakukan beberapa langkah; pertama, kelas aplikasi memanjangkan kelas java.net.Authenticator dan mengatasi fungsi getPasswordAuthentication() kelas java.net.Authenticator dalam subkelas. Biasanya, fungsi ini mengandungi fungsi getXXX() untuk mendapatkan maklumat pengguna untuk pengesahan, seperti nama pengguna dan kata laluan. Fungsi getPasswordAuthentication() mengembalikan nilai PasswordAuthentication yang mengandungi maklumat kelayakan.
Sintaks kelas Authenticator dalam Java ialah –
public abstract class Authenticator extends Object { // code of the authenticator class }
Mari kita lihat keseluruhan senarai fungsi ahli kelas Pengesah yang boleh digunakan untuk pengesahan.
1. getPasswordAuthentication() –Apabila kata laluan diperlukan, fungsi ini digunakan. Semua subkelas harus mengatasi getPasswordAuthentication (), yang mengembalikan null secara lalai.
Sintaks –
protected PasswordAuthentication getPasswordAuthentication();
2. getRequestingHost() –Fungsi ini mendapatkan semula nama hos tapak yang meminta pengesahan dan mengembalikan null jika tiada nama hos ditemui.
Sintaks –
protected final String getRequestingHost();
3. getRequestingPort() –Fungsi ini digunakan untuk mendapatkan nombor port untuk meminta sambungan.
Sintaks –
protected final int getRequestingPort();
4. getRequestingPrompt() –Fungsi ini digunakan untuk menggesa mesej rentetan peminta.
Sintaks –
protected final String getRequestingPrompt();
5. getRequestingProtocol() –Fungsi ini digunakan untuk mendapatkan protokol yang meminta sambungan.
Sintaks –
protected final int getRequestingProtocol();
6. getRequestingScheme() –Fungsi ini digunakan untuk mengalih keluar skema tapak peminta.
Sintaks –
protected final String getRequestingScheme();
7. getRequestingSite() –Fungsi ini digunakan untuk mendapatkan InetAddress tapak yang meminta, dan mengembalikan null jika tiada InetAddress hadir.
Sintaks –
protected final InetAddress getRequestingSite();
8. getRequestingURL() –Fungsi ini digunakan untuk mendapatkan URL peminta.
Sintaks –
protected URL getRequestingURL();
9. setDefault(Authenticator a) –Ia digunakan untuk menetapkan authenticator untuk digunakan oleh rangkaian apabila pelayan HTTP memerlukan pengesahan.
Sintaks –
public static void setDefault(Authenticator a);
10. getRequestorType()– Fungsi ini digunakan untuk mendapatkan sama ada peminta ialah pelayan atau Proksi.
Sintaks –
protected Authenticator.RequestorType getRequestorType();
Seterusnya, kami menulis kod Java untuk memahami kelas Authenticator dengan lebih jelas dengan contoh berikut di mana kami mencipta subkelas kelas Authenticator dan mengatasi fungsi getPasswordAuthentication() untuk melaksanakan pengesahan bagi sesetengah URL, seperti di bawah –
Kod:
package p1; import java.io.BufferedReader; import java.io.IOException; import java.net.URL; import java.io.InputStreamReader; import java.net.Authenticator; import java.net.PasswordAuthentication; import java.net.MalformedURLException; class MyAuthenticatorclass extends Authenticator { protected PasswordAuthentication getPasswordAuthentication() { String username = "John", password = "pass123"; this.print(); return new PasswordAuthentication(username, password.toCharArray()); } void print() { int hostname = getRequestingPort(); System.out.println("The request Port number :" + hostname); } } public class Demo { public static void main(String[] arg) { String data; try { //create object of authenticator class MyAuthenticatorclass obj =new MyAuthenticatorclass(); Authenticator.setDefault(new MyAuthenticatorclass()); URL url = new URL("https://www.educba.com/"); // reads data from the url in html form BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); System.out.println("The requesting URL is : "+url.getHost()); obj.getPasswordAuthentication() ; while ((data = br.readLine()) != null) { System.out.println(data); } br.close(); } catch (MalformedURLException e) { System.out.println("Malformed URL Exception : " + e); } catch (IOException e) { System.out.println("IO Exception: " + e); } } }
Output:
Seterusnya, kami menulis kod java untuk memahami kelas Authenticator di mana kami cuba mendapatkan semua maklumat dalam fungsi getPasswordAuthentication() yang diganti, seperti di bawah –
Kod:
package p1; import java.io.BufferedReader; import java.io.IOException; import java.net.URL; import java.io.InputStreamReader; import java.net.Authenticator; import java.net.InetAddress; import java.net.PasswordAuthentication; import java.net.MalformedURLException; class MyAuthenticatorclass extends Authenticator { protected PasswordAuthentication getPasswordAuthentication() { String username = "John", password = "pass123"; this.print(); return new PasswordAuthentication(username, password.toCharArray()); } void print() { // get all information String prom = getRequestingPrompt(); URL url = getRequestingURL(); int prt = getRequestingPort(); String hostname = getRequestingHost(); InetAddress ipaddress = getRequestingSite(); String sh = getRequestingScheme(); RequestorType rt = getRequestorType(); String protocol = getRequestingProtocol(); System.out.println("The prompt is :" + prom+"\nThe hostname is :" + hostname+"\nThe ipaddress is :" + ipaddress+"\nThe port no is :" + prt); System.out.println("The protocol is :" + protocol+"\nThe scheme is :" + sh+"\nThe URL is :" + url+"\nThe Requester Type is :" + rt); } } public class Demo { public static void main(String[] arg) { String data; try { //create object of authenticator class MyAuthenticatorclass obj =new MyAuthenticatorclass(); Authenticator.setDefault(new MyAuthenticatorclass()); URL url = new URL("https://www.educba.com/"); // reads data from the url in html form BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream())); System.out.println("The requesting URL is : "+url.getHost()); obj.getPasswordAuthentication() ; while ((data = br.readLine()) != null) { System.out.println(data); } br.close(); } catch (MalformedURLException e) { System.out.println("Malformed URL Exception : " + e); } catch (IOException e) { System.out.println("IO Exception: " + e); } } }
Output:
Kod di atas cuba mendapatkan semua maklumat yang berkaitan dengan pengesahan.
Kelas java authenticator ialah kelas java terbina dalam yang digunakan untuk mengendalikan URL atau pengesahan sambungan rangkaian. Seperti yang telah kita lihat, kelas terbina dalam ini mempunyai sepuluh fungsi yang setiap satunya boleh digunakan untuk tujuan tertentu.
Atas ialah kandungan terperinci Pengesah Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!