Maison > Java > javaDidacticiel > le corps du texte

Authentificateur Java

PHPz
Libérer: 2024-08-30 15:45:08
original
862 Les gens l'ont consulté

La classe d'authentification Java est utilisée pour authentifier les connexions réseau. Cette classe est une classe Java standard. La classe Authenticator est utilisée dans les applications qui nécessitent une authentification utilisateur pour accéder à certaines URL. Une classe d'authentification effectue l'authentification en demandant à l'utilisateur des informations d'identification telles que le nom d'utilisateur et le mot de passe.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Pour effectuer l'authentification dans une application, l'application doit effectuer certaines étapes ; Tout d'abord, une classe d'application étend la classe java.net.Authenticator et remplace la fonction getPasswordAuthentication() de la classe java.net.Authenticator dans la sous-classe. Habituellement, cette fonction contient des fonctions getXXX() pour obtenir des informations utilisateur pour l'authentification, comme les noms d'utilisateur et les mots de passe. La fonction getPasswordAuthentication() renvoie la valeur PasswordAuthentication contenant les informations d'identification.

La syntaxe de la classe Authenticator en Java est –

public abstract class Authenticator extends Object
{
// code of the authenticator class
}
Copier après la connexion

Fonctions des membres de la classe Authentificateur

Passons en revue la liste complète des fonctions membres de la classe Authenticator qui peuvent être utilisées pour l'authentification.

1. getPasswordAuthentication() – Lorsqu'un mot de passe est requis, cette fonction est utilisée. Toutes les sous-classes doivent remplacer getPasswordAuthentication (), qui renvoie null par défaut.

Syntaxe –

protected PasswordAuthentication getPasswordAuthentication();
Copier après la connexion

2. getRequestingHost() – Cette fonction récupère le nom d'hôte du site demandant l'authentification et renvoie null si aucun nom d'hôte n'est trouvé.

Syntaxe –

protected final String getRequestingHost();
Copier après la connexion

3. getRequestingPort() – Cette fonction est utilisée pour obtenir le numéro de port de la connexion demandeuse.

Syntaxe –

protected final int getRequestingPort();
Copier après la connexion

4. getRequestingPrompt() – Cette fonction est utilisée pour demander le message de chaîne du demandeur.

Syntaxe –

protected final String getRequestingPrompt();
Copier après la connexion

5. getRequestingProtocol() – Cette fonction est utilisée pour obtenir le protocole qui demande la connexion.

Syntaxe –

protected final int getRequestingProtocol();
Copier après la connexion

6. getRequestingScheme() – Cette fonction est utilisée pour supprimer le schéma du site demandeur.

Syntaxe –

protected final String getRequestingScheme();
Copier après la connexion

7. getRequestingSite() – Cette fonction est utilisée pour obtenir InetAddress du site demandeur et renvoie null si aucune InetAddress n'est présente.

Syntaxe –

protected final InetAddress getRequestingSite();
Copier après la connexion

8. getRequestingURL() – Cette fonction est utilisée pour obtenir l'URL du demandeur.

Syntaxe –

protected URL getRequestingURL();
Copier après la connexion

9. setDefault(Authenticator a) – Il est utilisé pour définir l'authentificateur à utiliser par le réseau lorsque le serveur HTTP nécessite une authentification.

Syntaxe –

public static void setDefault(Authenticator a);
Copier après la connexion

10. getRequestorType() – Cette fonction est utilisée pour savoir si le demandeur est un serveur ou un proxy.

Syntaxe –

protected Authenticator.RequestorType getRequestorType();
Copier après la connexion

Exemples de la classe Authenticator en Java

Ensuite, nous écrivons le code Java pour comprendre plus clairement la classe Authenticator avec l'exemple suivant dans lequel nous créons une sous-classe de la classe Authenticator et remplaçons la fonction getPasswordAuthentication() pour effectuer l'authentification pour certaines URL, comme ci-dessous –

Exemple n°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);
}
}
}
Copier après la connexion

Sortie :

Authentificateur Java

Ensuite, nous écrivons le code Java pour comprendre la classe Authenticator où nous essayons d'obtenir toutes les informations dans la fonction getPasswordAuthentication() remplacée, comme ci-dessous –

Exemple n°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);
}
}
}
Copier après la connexion

Sortie :

Authentificateur Java

Le code ci-dessus tente d'obtenir toutes les informations liées à l'authentification.

Conclusion

La classe Java Authenticator est une classe Java intégrée utilisée pour gérer l'authentification d'URL ou de connexion réseau. Comme nous l'avons vu, cette classe intégrée possède dix fonctions qui peuvent chacune être utilisées dans un but spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal