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();
다음으로, Authenticator 클래스의 하위 클래스를 생성하고 getPasswordAuthentication() 함수를 재정의하여 일부 URL에 대해 인증을 수행하는 다음 예를 통해 Authenticator 클래스를 더 명확하게 이해하기 위해 Java 코드를 작성합니다.
코드:
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 코드를 작성합니다.
코드:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!