>  기사  >  Java  >  자바 인증자

자바 인증자

PHPz
PHPz원래의
2024-08-30 15:45:08850검색

Java 인증자 클래스는 네트워크 연결을 인증하는 데 사용됩니다. 이 클래스는 표준 Java 클래스입니다. 인증자 클래스는 특정 URL에 액세스하기 위해 사용자 인증이 필요한 애플리케이션에 사용됩니다. 인증자 클래스는 사용자에게 사용자 이름 및 비밀번호와 같은 자격 증명 정보를 묻는 메시지를 표시하여 인증을 수행합니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

애플리케이션에서 인증을 수행하려면 애플리케이션에서 몇 가지 단계를 수행해야 합니다. 먼저 애플리케이션 클래스는 java.net.Authenticator 클래스를 확장하고 하위 클래스에 있는 java.net.Authenticator 클래스의 getPasswordAuthentication() 함수를 재정의합니다. 일반적으로 이 함수에는 사용자 이름 및 비밀번호와 같은 인증을 위한 사용자 정보를 가져오는 getXXX() 함수가 포함되어 있습니다. getPasswordAuthentication() 함수는 자격 증명 정보가 포함된 PasswordAuthentication 값을 반환합니다.

Java의 Authenticator 클래스 구문은 –

입니다.
public abstract class Authenticator extends Object
{
// code of the authenticator class
}

인증자 클래스 멤버 기능

인증에 사용할 수 있는 Authenticator 클래스 멤버 함수 전체 목록을 살펴보겠습니다.

1. getPasswordAuthentication() – 비밀번호가 필요할 때 이 함수를 사용합니다. 모든 하위 클래스는 기본적으로 null을 반환하는 getPasswordAuthentication()을 재정의해야 합니다.

구문 –

protected PasswordAuthentication getPasswordAuthentication();

2. getRequestingHost() – 이 함수는 인증을 요청하는 사이트의 호스트 이름을 검색하고 호스트 이름이 없으면 null을 반환합니다.

구문 –

protected final String getRequestingHost();

3. getRequestingPort() – 이 함수는 연결을 요청하는 포트 번호를 가져오는 데 사용됩니다.

구문 –

protected final int getRequestingPort();

4. getRequestingPrompt() – 이 함수는 요청자의 문자열 메시지를 프롬프트하는 데 사용됩니다.

구문 –

protected final String getRequestingPrompt();

5. getRequestingProtocol() – 이 함수는 연결을 요청하는 프로토콜을 가져오는 데 사용됩니다.

구문 –

protected final int getRequestingProtocol();

6. getRequestingScheme() – 이 함수는 요청자 사이트의 스키마를 제거하는 데 사용됩니다.

구문 –

protected final String getRequestingScheme();

7. getRequestingSite() – 이 함수는 요청 사이트의 InetAddress를 가져오는 데 사용되며 InetAddress가 없으면 null을 반환합니다.

구문 –

protected final InetAddress getRequestingSite();

8. getRequestingURL() – 이 함수는 요청자의 URL을 가져오는 데 사용됩니다.

구문 –

protected URL getRequestingURL();

9. setDefault(Authenticator a) – HTTP 서버에서 인증이 필요할 때 네트워킹에서 사용할 인증자를 설정하는데 사용됩니다.

구문 –

public static void setDefault(Authenticator a);

10. getRequestorType() – 이 함수는 요청자가 서버인지 프록시인지 확인하는 데 사용됩니다.

구문 –

protected Authenticator.RequestorType getRequestorType();

Java의 인증자 클래스 예

다음으로, Authenticator 클래스의 하위 클래스를 생성하고 getPasswordAuthentication() 함수를 재정의하여 일부 URL에 대해 인증을 수행하는 다음 예를 통해 Authenticator 클래스를 더 명확하게 이해하기 위해 Java 코드를 작성합니다.

예시 #1

코드:

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

출력:

자바 인증자

다음으로, 재정의된 getPasswordAuthentication() 함수에서 모든 정보를 가져오려는 Authenticator 클래스를 이해하기 위해 아래와 같이 Java 코드를 작성합니다.

예시 #2

코드:

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

출력:

자바 인증자

위 코드는 인증과 관련된 모든 정보를 얻으려는 코드입니다.

결론

Java 인증자 클래스는 URL 또는 네트워크 연결 인증을 처리하는 데 사용되는 내장 Java 클래스입니다. 살펴본 바와 같이 이 내장 클래스에는 각각 특정 목적으로 활용할 수 있는 10가지 기능이 있습니다.

위 내용은 자바 인증자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.