javax.security.auth.login
Ŭ·¡½º Configuration

java.lang.Object
  |
  +--javax.security.auth.login.Configuration

public abstract class Configuration
extends java.lang.Object

À̰ÍÀº, ¾îÇø®ÄÉÀ̼ǿ¡ À־ÀÇ LoginModule ÀÇ ±¸¼ºÀ» ³ªÅ¸³»´Â abstract Ŭ·¡½ºÀÔ´Ï´Ù. Configuration ¿¡¼­´Â, ƯÁ¤ÀÇ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ëµÇ´Â LoginModule °ú LoginModule °¡ ºÒ·Á °¡´Â Â÷·Ê¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ abstract Ŭ·¡½º¿¡¼­´Â, ½ÇÁ¦ÀÇ Configuration ¸¦ Àо°Å³ª ·ÎµåÇϰųª ÇÏ´Â ½ÇÀåÀ» Á¦°øÇϵµ·Ï(µíÀÌ) ¼­ºê Ŭ·¡½ºÈ­ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

ƯÁ¤ÀÇ ¾îÇø®ÄÉÀÌ¼Ç appName ¿ëÀ¸·Î ±¸¼ºµÈ LoginModule ¸¦ ÆÇÁ¤Çϱâ À§Çؼ­,LoginContext °¡ Configuration ¸¦ Àо Çʿ䰡 ÀÖÀ» ¶§, ´ÙÀ½ÀÇ È£ÃâÀ» ÇÕ´Ï´Ù.

	config = Configuration.getConfiguration();
	entries = config.getAppConfigurationEntry(appName);

·Î±×ÀÎ ±¸¼º¿¡´Â ÀÌÇÏ¿¡ ³ªÅ¸³»´Â Á¤º¸°¡ °Ý³³µË´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â,Configuration ÀÇ µðÆúÆ® ±¸¹®¸¸À» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼­ºê Ŭ·¡½º ½ÇÀå¿¡¼­´Â ´Ù¸¥ ±¸¹®À» ½ÇÀåÇÒ ¼öµµ ÀÖ¾î ÆÄÀÏ, µ¥ÀÌŸº£À̽º, ¼­¹ö¶ó°í ÇÏ´Â ÀÓÀÇÀÇ ¼Ò½º·ÎºÎÅÍ Configuration ¸¦ ÃëµæÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

Application {
	      Module  Flag    ModuleOptions;
	      Module  Flag    ModuleOptions;
	      Module  Flag    ModuleOptions;
      };
Application {
	      Module  Flag    ModuleOptions;
	      Module  Flag    ModuleOptions;
      };
other {
	      Module  Flag    ModuleOptions;
	      Module  Flag    ModuleOptions;
      };

Configuration ÀÇ °¢ ¿£Æ®¸®´Â, ¾îÇø®ÄÉÀ̼Ǹí Application ·Î À妽ºÈ­ µÇ°í ÀÖ¾î ±× ¾îÇø®ÄÉÀ̼ǿëÀ¸·Î ±¸¼ºµÈ LoginModules ÀÇ ¸®½ºÆ®°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÎÁõÀº, ¸ðµâ ¸®½ºÆ®·Î ÁöÁ¤ÇÑ Â÷·Ê´ë·Î 󸮵˴ϴÙ. ¾îÇø®ÄÉÀ̼ÇÀÇ °íÀ¯ ¿£Æ®¸®°¡ ¾ø´Â °æ¿ì,other ÀÇ °íÀ¯ ¿£Æ®¸®°¡ µðÆúÆ®°¡ µË´Ï´Ù.

Flag ÀÇ °ªÀº, ½ºÅÃÀ» ÀÎÁõÇÒ ¶§ÀÇ ÀüüÀûÀÎ µ¿ÀÛÀ» Á¦¾îÇÕ´Ï´Ù. Flag ¿¡ À¯È¿ÇÑ °ª°ú °¢°¢ÀÇ Àǹ̸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.

1) Required     - LoginModule ÀÇ Ã³¸®´Â ¼º°øÇÏÁö ¾ÊÀ¸¸é ¾È µÈ´Ù.
			¼º°øÇصµ ½ÇÆÐÇØµµ,LoginModule ¸®½ºÆ®¿¡
			µû¶ó¼­ 󸮴 °è¼ÓµÈ´Ù
2) Requisite    - LoginModule ÀÇ Ã³¸®´Â ¼º°øÇÏÁö ¾ÊÀ¸¸é ¾È µÈ´Ù.
			¼º°øÇßÀ» °æ¿ì´Â,LoginModule ¸®½ºÆ®¿¡ µû¶ó
			ÀÎÁõÀº °è¼ÓÇÑ´Ù.
			½ÇÆÐÇßÀ» °æ¿ì´Â, °ð¹Ù·Î Á¦¾î°¡ ¾îÇø®ÄÉÀ̼ǿ¡
			µÇµ¹·ÁÁø´Ù (LoginModule ¸®½ºÆ®¿¡ µû¶ó
			ÀÎÁõÀº °è¼ÓµÇÁö ¾Ê´Â´Ù)
3) Sufficient   - LoginModule ÀÇ Ã³¸®´Â ¼º°øÇÏÁö ¾Ê¾Æµµ ÁÁ´Ù.
			¼º°øÇßÀ» °æ¿ì´Â, °ð¹Ù·Î Á¦¾î°¡ ¾îÇø®ÄÉÀ̼ǿ¡
			µÇµ¹·ÁÁø´Ù (LoginModule ¸®½ºÆ®¿¡ µû¶ó
			ÀÎÁõÀº °è¼ÓµÇÁö ¾Ê´Â´Ù).
			½ÇÆÐÇßÀ» °æ¿ì´Â,LoginModule ¸®½ºÆ®¿¡
			µû¶ó¼­ ÀÎÁõÀº °è¼ÓµÈ´Ù
4) Optional     - LoginModule ÀÇ Ã³¸®´Â ¼º°øÇÏÁö ¾Ê¾Æµµ
			ÁÁ´Ù. ¼º°øÇصµ ½ÇÆÐÇØµµ,
			LoginModule ¸®½ºÆ®¿¡ µû¶ó
			ÀÎÁõÀº °è¼ÓµÈ´Ù

¸ðµç Required LoginModule ¿Í Requisite LoginModule °¡ ¼º°øÇßÀ» °æ¿ì¿¡¸¸, ÀÎÁõ Àüü°¡ ¼º°øÇÕ´Ï´Ù. Sufficient LoginModule °¡ ±¸¼ºµÇ°í ¼º°øÇßÀ» °æ¿ì´Â, ±× Sufficient LoginModule ÀÇ ¾Õ¿¡ ÀÖ´Â Required LoginModule ¿Í Requisite LoginModule °¡ ¼º°øÇÏÁö ¾ÊÀ¸¸é ÀÎÁõ Àüü°¡ ¼º°øÇÑ °ÍÀ¸·Î´Â µÇÁö ¾Ê½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·Î Required LoginModule µµ Requisite LoginModule µµ ±¸¼ºµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â,Sufficient LoginModule ³ª Optional LoginModule °¡ Àû¾îµµ 1 °³(»ì) ¼º°øÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ModuleOptions ´Â, ±âº»ÀÌ µÇ´Â LoginModule ¿¡ Á÷Á¢ °Ç³×¹Þ´Â LoginModule °íÀ¯ÀÇ °ªÀ» °ø¹é ij¸¯ÅÍ·Î ´Ü¶ôÁöÀº ¸®½ºÆ®ÀÔ´Ï´Ù. ¿É¼ÇÀº LoginModule ¿¡ ÀÇÇØ Á¤Àǵǰí ÀÖ¾î ³»ºÎ µ¿ÀÛÀ» Á¦¾îÇϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,LoginModule ·Î µð¹ö±×¿Í Å×½ºÆ®¸¦ ¼­Æ÷Æ®ÇÏ´Â ¿É¼ÇÀÌ Á¤Àǵǰí ÀÖ´Ù°í ÇÕ´Ï´Ù. Configuration ·Î ¿É¼ÇÀ» ÁöÁ¤ÇÏ·Á¸é ,debug=true ·Î Ű¿Í °ªÀÇ Æä¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¿Ã¹Ù¸¥ ¹æ¹ýÀÔ´Ï´Ù. Ű¿Í °ªÀº µîÈ£ ±âÈ£ (=)·Î ´Ü¶ôÁöÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. LoginModule ·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀÇ ¼ö¿¡ »óÇÑÀº ¾ø½À´Ï´Ù.

Àü¼úÀÇ ±¸¹®¿¡ ±Ù°ÅÇÏ´Â Configuration ¿£Æ®¸®ÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.

Login {
	      sun.modules.SmartCard   required;
	      sun.modules.Kerberos    optional	debug=true;
      };

ÀÌ Configuration ´Â ¡¸Login¡¹¶ó°í ÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀ¸·Î, À¯Àú°¡ ¿ì¼± sun.modules.SmartCard LoginModule ¿¡ÀÇ ÀÎÁõÀ» ¼º°ø½ÃŰÁö ¾ÊÀ¸¸é ¾È µÇ´Â °ÍÀ» ÁöÁ¤ÇÕ´Ï´Ù. sun.modules.SmartCard ÀÎÁõÀÌ ½ÇÆÐÇßÀ» (ºÎÁ¤ÇÑ PIN °¡ ÀԷµÉ) °æ¿ì¿¡¼­µµ,sun.modules.Kerberos LoginModule ´Â ºÒ·Á °©´Ï´Ù. À̰ÍÀº ¾îµð¼­ ½ÇÆÐÇß´ÂÁö¸¦ ¼û±â´Âµ¥ µµ¿òÀÌ µË´Ï´Ù. sun.modules.Kerberos LoginModule ´Â Optional À̱â (À§ÇØ)¶§¹®¿¡,sun.modules.SmartCard LoginModule (Required)°¡ ¼º°øÇßÀ» ¶§¿¡ ¸¶¼Å ÀÎÁõ Àüü°¡ ¼º°øÇÕ´Ï´Ù.

¶Ç, LoginModule °íÀ¯ ¿É¼ÇÀÎ debug=true Àº sun.modules.Kerberos LoginModule ¿¡°Ô °Ç³×Áö´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. À̰Ϳ¡ ÀÇÇØ, µð¹ö±× Ç÷¡±×°¡ ¿ÂÀÌ µÇ¾î, Æí¸®ÇÑ µð¹ö±× Á¤º¸°¡ ÆÄÀÏ¿¡ Ãâ·ÂµË´Ï´Ù.

µðÆúÆ®ÀÇ Configuration ½ÇÀåÀº, (Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÓÆÛƼ ÆÄÀÏÀÇ) login.configuration.provider ½ÃÅ¥·¯Æ¼ ÇÁ·ÓÆÛƼ¿¡, Èñ¸ÁÇÏ´Â Configuration ½ÇÀå Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤¸íÀ» ¼³Á¤ÇÏ´Â °Í¿¡ ÀÇÇØ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÓÆÛƼ ÆÄÀÏÀº, <JAVA_HOME>/lib/security/java.security ¶ó´Â À̸§ÀÇ ÆÄÀÏ¿¡ °Ý³³µË´Ï´Ù. ´Ù¸¸, <JAVA_HOME> ´Â JDK °¡ ÀνºÅç µÈ µð·ºÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.

°ü·Ã Ç׸ñ:
LoginContext

constructor¡¡ ¡¡ ÀÇ °³¿ä
protected Configuration ()
          À¯ÀÏÇÑ constructor¡¡ ¡¡ ÀÔ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
abstract  AppConfigurationEntry [] getAppConfigurationEntry (java.lang.String applicationName)
          ÀÌ ¾îÇø®ÄÉÀ̼ÇÀÇ LoginModule ÀÇ ±¸¼º¿¡ ´ëÀÀÇÏ´Â AppConfigurationEntry ÀÇ ¹è¿­À» ÃëµæÇÕ´Ï´Ù.
static Configuration getConfiguration ()
          ÇöÀçÀÇ Login Configuration ¸¦ ÃëµæÇÕ´Ï´Ù.
abstract  void refresh ()
          Configuration ¸¦ ¸®ÇÁ·¹½¬ ÇØ, Àç·ÎµåÇÕ´Ï´Ù.
static void setConfiguration (Configuration  configuration)
          ÇöÀçÀÇ Login Configuration ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang.Object ·ÎºÎÅÍ °è½ÂÇÑ ¸Þ¼Òµå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

constructor¡¡ ¡¡ ÀÇ »ó¼¼

Configuration

protected Configuration()
À¯ÀÏÇÑ constructor¡¡ ¡¡ ÀÔ´Ï´Ù. ¼­ºê Ŭ·¡½ºÀÇ constructor¡¡ ¡¡ ¿¡ ÀÇÇÑ È£ÃâÀº, Åë»óÀº ¾Ï¹¬ÀûÀΠȣÃâÀÔ´Ï´Ù.
¸Þ¼ÒµåÀÇ »ó¼¼

getConfiguration

public static Configuration  getConfiguration()
ÇöÀçÀÇ Login Configuration ¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÇöÀçÀÇ Login Configuration
¿¹¿Ü:
java.lang.SecurityException - È£Ãâ Ãø¿¡, Configuration ¸¦ ÃëµæÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì

setConfiguration

public static void setConfiguration(Configuration  configuration)
ÇöÀçÀÇ Login Configuration ¸¦ ¼³Á¤ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
configuration - »õ·Î¿î Configuration
¿¹¿Ü:
java.lang.SecurityException - ÇöÀçÀÇ thread°¡ Configuration ¸¦ ¼³Á¤ÇÏ´Â Permission ¸¦ °¡ÁöÁö ¾Ê´Â °æ¿ì

getAppConfigurationEntry

public abstract AppConfigurationEntry [] getAppConfigurationEntry(java.lang.String applicationName)
ÀÌ ¾îÇø®ÄÉÀ̼ÇÀÇ LoginModule ÀÇ ±¸¼º¿¡ ´ëÀÀÇÏ´Â AppConfigurationEntry ÀÇ ¹è¿­À» ÃëµæÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
applicationName - Configuration ¸¦ À妽ºÈ­Çϱâ À§ÇÑ À̸§
¹Ýȯ°ª:
ÀÌ ¾îÇø®ÄÉÀ̼ÇÀÇ LoginModule ÀÇ ±¸¼º¿¡ ´ëÀÀÇÏ´Â AppConfigurationEntry ÀÇ ¹è¿­. ÀÌ ¾îÇø®ÄÉÀ̼ǿ¡ ±¸¼ºµÈ LoginModule °¡ ¾ø´Â °æ¿ì´Â null

refresh

public abstract void refresh()
Configuration ¸¦ ¸®ÇÁ·¹½¬ ÇØ, Àç·ÎµåÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â, ÀÌ ¿ÀºêÁ§Æ®¿¡, ÇöÀçÀÇ Configuration ÀÇ ¸®ÇÁ·¹½¬³ª Àç·Îµå¸¦ ½Ç½ÃÇÏ°Ô ÇÕ´Ï´Ù. À̰ÍÀº ½ÇÀå¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Configuration ¿ÀºêÁ§Æ®°¡ ÆÄÀÏ¿¡ °Ý³³µÇ°í ÀÖ´Â °æ¿ì,refresh ¸¦ È£ÃâÇϸé(ÀÚ), ÆÄÀÏÀÌ Çѹø ´õ ÀоÁö°Ô µË´Ï´Ù.

¿¹¿Ü:
java.lang.SecurityException - È£Ãâ Ãø¿¡, Configuration ¸¦ ¸®ÇÁ·¹½¬ ÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
»ç¿ë¿¡´Â»ç¿ë Çã¶ô °è¾àÀÌ Àû¿ëµË´Ï´Ù.