Heim  >  Artikel  >  Java  >  Java-Authentifikator

Java-Authentifikator

PHPz
PHPzOriginal
2024-08-30 15:45:08850Durchsuche

Die Java-Authentifikatorklasse wird zur Authentifizierung von Netzwerkverbindungen verwendet. Diese Klasse ist eine Standard-Java-Klasse. Die Authenticator-Klasse wird in Anwendungen verwendet, die eine Benutzerauthentifizierung erfordern, um auf bestimmte URLs zuzugreifen. Eine Authentifizierungsklasse führt die Authentifizierung durch, indem sie den Benutzer zur Eingabe von Anmeldeinformationen wie Benutzername und Passwort auffordert.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Um die Authentifizierung in einer Anwendung durchzuführen, muss die Anwendung einige Schritte ausführen; Zunächst erweitert eine Anwendungsklasse die Klasse java.net.Authenticator und überschreibt die Funktion getPasswordAuthentication() der Klasse java.net.Authenticator in der Unterklasse. Normalerweise enthält diese Funktion getXXX()-Funktionen zum Abrufen von Benutzerinformationen zur Authentifizierung, wie Benutzernamen und Passwörter. Die Funktion getPasswordAuthentication() gibt den PasswordAuthentication-Wert zurück, der Anmeldeinformationen enthält.

Die Syntax der Authenticator-Klasse in Java lautet –

public abstract class Authenticator extends Object
{
// code of the authenticator class
}

Authenticator-Klassenmitgliedsfunktionen

Lassen Sie uns die gesamte Liste der Authenticator-Klassenmitgliederfunktionen durchgehen, die zur Authentifizierung verwendet werden können.

1. getPasswordAuthentication() – Wenn ein Passwort erforderlich ist, wird diese Funktion verwendet. Alle Unterklassen sollten getPasswordAuthentication() überschreiben, das standardmäßig null zurückgibt.

Syntax –

protected PasswordAuthentication getPasswordAuthentication();

2. getRequestingHost() – Diese Funktion ruft den Hostnamen der Site ab, die eine Authentifizierung anfordert, und gibt null zurück, wenn kein Hostname gefunden wird.

Syntax –

protected final String getRequestingHost();

3. getRequestingPort() – Diese Funktion wird verwendet, um die Portnummer der anfordernden Verbindung abzurufen.

Syntax –

protected final int getRequestingPort();

4. getRequestingPrompt() – Diese Funktion wird verwendet, um die Zeichenfolgennachricht des Anforderers anzufordern.

Syntax –

protected final String getRequestingPrompt();

5. getRequestingProtocol() – Diese Funktion wird verwendet, um das Protokoll abzurufen, das die Verbindung anfordert.

Syntax –

protected final int getRequestingProtocol();

6. getRequestingScheme() – Diese Funktion wird verwendet, um das Schema der anfordernden Site zu entfernen.

Syntax –

protected final String getRequestingScheme();

7. getRequestingSite() – Diese Funktion wird verwendet, um die InetAddress der anfordernden Site abzurufen und null zurückzugeben, wenn keine InetAddress vorhanden ist.

Syntax –

protected final InetAddress getRequestingSite();

8. getRequestingURL() – Diese Funktion wird verwendet, um die URL des Anforderers abzurufen.

Syntax –

protected URL getRequestingURL();

9. setDefault(Authenticator a) – Wird verwendet, um den Authentifikator festzulegen, der vom Netzwerk verwendet werden soll, wenn der HTTP-Server eine Authentifizierung erfordert.

Syntax –

public static void setDefault(Authenticator a);

10. getRequestorType() – Mit dieser Funktion wird ermittelt, ob der Anforderer ein Server oder ein Proxy ist.

Syntax –

protected Authenticator.RequestorType getRequestorType();

Beispiele der Authenticator-Klasse in Java

Als nächstes schreiben wir den Java-Code, um die Authenticator-Klasse anhand des folgenden Beispiels besser zu verstehen, in dem wir eine Unterklasse der Authenticator-Klasse erstellen und die Funktion getPasswordAuthentication() überschreiben, um eine Authentifizierung für eine URL durchzuführen, wie unten –

Beispiel #1

Code:

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);
}
}
}

Ausgabe:

Java-Authentifikator

Als nächstes schreiben wir den Java-Code, um die Authenticator-Klasse zu verstehen, in der wir versuchen, alle Informationen in der überschriebenen getPasswordAuthentication()-Funktion abzurufen, wie unten –

Beispiel #2

Code:

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);
}
}
}

Ausgabe:

Java-Authentifikator

Der obige Code versucht, alle Informationen im Zusammenhang mit der Authentifizierung abzurufen.

Fazit

Die Java-Authentifikatorklasse ist eine integrierte Java-Klasse, die für die URL- oder Netzwerkverbindungsauthentifizierung verwendet wird. Wie wir gesehen haben, verfügt diese integrierte Klasse über zehn Funktionen, die jeweils für einen bestimmten Zweck verwendet werden können.

Das obige ist der detaillierte Inhalt vonJava-Authentifikator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:InstanzOf in JavaNächster Artikel:InstanzOf in Java