|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
java.lang.Object | +--javax.security.auth.Policy
public PermissionCollection getPermissions (java.security.ProtectionDomain pd)¶Ç, ProtectionDomain ¿¡´Â ´ÙÀ½ÀÇ constructor ÀÌ ÀÖ½À´Ï´Ù.
public ProtectionDomain (CodeSource cs, PermissionCollection permissions, ClassLoader loader, Principal[] principals)À̰͵é 2 °³ÀÇ API ´Â È£Ãâ Ãø¿¡, Principal º£À̽ºÀÇ Permission ¿£Æ®¸®¿ë Policy ÀÇ ¹®ÀǸ¦ ½ÇÇàÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.
Subject º£À̽ºÀÇ ½ÂÀÎÀÇ ½Ã½ºÅÛ Á¤Ã¥À» ³ªÅ¸³»´Â abstract Ŭ·¡½ºÀÔ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º ±¸Çö¿¡¼´Â Subject º£À̽ºÀÇ ¾×¼¼½º Á¦¾î Policy ¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
Policy ¿ÀºêÁ§Æ®´Â ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î,Principal ·Î¼ ½ÇÇàÇϰí ÀÖ´Â Äڵ忡 ºÎ¿©µÈ Permission ¼¼Æ®¸¦ Äí¿¡¸®-ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
policy = Policy.getPolicy(); PermissionCollection perms = policy.getPermissions(subject, codeSource);
Policy ¿ÀºêÁ§Æ®¿¡¼´Â ·ÎÄà Æú¸®½Ã¸¦ ÂüÁ¶ÇØ, ÀûÀýÇÑ Permissions ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â Permissions ¿ÀºêÁ§Æ®¿¡´Â ÁöÁ¤ÇÑ subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÇ¾î ÁöÁ¤ÇÑ codeSource ¿¡ ÀÇÇØ ÁöÁ¤µÈ Äڵ忡 ºÎ¿©µÈ Permission °¡ ÀÖ½À´Ï´Ù.
Policy ¿¡´Â ÀÌÇÏ¿¡ ³ªÅ¸³»´Â Á¤º¸°¡ ÀúÀåµË´Ï´Ù. ÀÌ ¿¹¿¡¼´Â ´ÜÁö µðÆúÆ®ÀÇ Policy ±¸ÇöÀÇ ±¸¹®À» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ¼ºê Ŭ·¡½º ±¸Çö¿¡¼´Â ´Ù¸¥ ±¸¹®À» ±¸ÇöÇÒ ¼ö ÀÖ¾î ÆÄÀÏ, µ¥ÀÌŸº£À̽º, ¼¹ö¶ó°í ÇÏ´Â ÀÓÀÇÀÇ ¼Ò½º·ÎºÎÅÍ Policy ¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
Policy ÀÇ °¢ ¿£Æ®¸®´Â grant ¿£Æ®¸®·Î¼ ³ªÅ¸³»Áý´Ï´Ù. °¢ grant ¿£Æ®¸®¿¡¼´Â ÄÚµå º£À̽º, ÄÚµåÀÇ ¼¸íÀÚ, Principal ¿¡ °üÇÑ 3 Ç׸ñ, ±×¸®°í ±× 3 Ç׸ñ¿¡ ºÎ¿©µÈ Permission ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
grant CodeBase ["URL"], Signedby ["signers"],
Principal [Principal_Class] "Principal_Name" {
Permission Permission_Class ["Target_Name"]
[, "Permission_Actions"]
[, signedBy "SignerName"];
};
3 Ç׸ñÀÇ À̸§°ú °ªÆä¾î¿¡ ÀÖ¾î¼ÀÇ CodeBase ÄÄÆÛ³ÍÆ®¿Í Signedby ÄÄÆÛ³ÍÆ®´Â »ý·« °¡´ÉÇÕ´Ï´Ù. Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ÀÓÀÇÀÇ ÄÚµå º£À̽º°¡ ÀÏÄ¡ÇØ, ÀÓÀÇÀÇ ¼¸íÀÚ (¼¸í ¾øÀ½ÀÇ Äڵ带 Æ÷ÇÔÇÑ´Ù)°¡ ÀÏÄ¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
grant CodeBase "foo.com", Signedby "foo",
Principal com.sun.security.auth.SolarisPrincipal "duke" {
permission java.io.FilePermission "/home/duke", "read, write";
};
ÀÌ grant ¿£Æ®¸®¿¡¼´Â foo °¡ ¼¸íÇÑ, À̸§ duke ÀÇ SolarisPrincipal ·Î ½ÇÇàÇϰí ÀÖ´Â foo.com ·ÎºÎÅÍÀÇ Äڵ忡,Permission °¡ 1 °³ ÀÖ´Â °ÍÀ» ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ÀÌ Permission ¿¡¼´Â /home/duke µð·ºÅ丮¿¡ÀÇ ÆÄÀÏÀÇ ÀÐ°í ¾²±â¸¦, ½ÇÇàÇÏ´Â Äڵ忡 Çã°¡ÇÕ´Ï´Ù.
¾î´À Principal ·Î ¡¸½ÇÇࡹÇÏ·Á¸é , ÄÚµå·Î Subject.doAs(subject, ...) ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ÁöÁ¤ÇÑ Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´ø ¸ðµç Principal ·Î ÄÚµå´Â ½ÇÇàµË´Ï´Ù. ÀÌ Policy ( ¹× ÀÌ Policy ¿¡ ºÎ¿©µÈ Permission)´Â Subject.doAs ÀÇ È£Ãâ ÈÄ¿¡ À¯È¿ÇÏ°Ô µË´Ï´Ù.
1 °³ÀÇ grant ¿£Æ®¸®³»¿¡, º¹¼öÀÇ Principal ¸¦ ±â¼úÇÒ ¼ö ÀÖ½À´Ï´Ù. grant ¿£Æ®¸®³»ÀÇ Principal ´Â ¸ðµÎ, ÁöÁ¤ÇÑ Permission °¡ ºÎ¿©µÇ´Â Subject ¿¡ ´ëÇØ,Subject.doAs ¿¡°Ô °Ç³×Áö´Â Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
grant Principal com.sun.security.auth.SolarisPrincipal "duke",
Principal com.sun.security.auth.SolarisNumericUserPrincipal "0" {
permission java.io.FilePermission "/home/duke", "read, write";
permission java.net.SocketPermission "duke.com", "connect";
};
ÀÌ ¿£Æ®¸®¿¡¼´Â duke ¿Í 0 ÀÇ ¾çÂÊ ¸ðµÎ·Î ½ÇÇàµÇ´Â Äڵ忡, duke ÀÇ È¨ µð·ºÅ丮³»ÀÇ ÆÄÀÏ¿¡ÀÇ ÀÐ°í ¾²±â ¾×¼¼½º±ÇÀ» ºÎ¿©ÇØ, ÇÑÃþ ´õ duke.com ¿¡ÀÇ ¼ÒÄÏ Á¢¼ÓÀÇ ÀÛ¼º±ÇÀ» ºÎ¿©ÇÕ´Ï´Ù.
Principal º£À̽º°¡ ¾Æ´Ñ grant ¿£Æ®¸®´Â ÀÌ Policy ¿¡¼´Â Çã°¡µÇÁö ¾Ê½À´Ï´Ù. ±× ¶§¹®¿¡, ´ÙÀ½ÀÇ grant ¿£Æ®¸®´Â °ÅºÎµË´Ï´Ù.
grant CodeBase "foo.com", Signedby "foo" {
permission java.io.FilePermission "/tmp/scratch", "read, write";
};
ÀÌ·¯ÇÑ ¾×¼¼½º±ÇÀº java.security.Policy ¿¡ ±â¼úÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
µðÆúÆ®ÀÇ Policy ±¸ÇöÀº (Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀÇ) auth.policy.provider ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ¿¡, Èñ¸ÁÇÏ´Â Policy ±¸Çö Ŭ·¡½ºÀÇ ¿ÏÀü ÁöÁ¤¸íÀ» ¼³Á¤ÇÏ´Â °ÍÀ¸·Î½á º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Java ½ÃÅ¥·¯Æ¼ ÇÁ·ÎÆÛƼ ÆÄÀÏÀº <JAVA_HOME>/lib/security/java.security ¶ó´Â À̸§ÀÇ ÆÄÀÏ¿¡ ÀúÀåµÇ°í ÀÖ½À´Ï´Ù. ¿©±â¼, <JAVA_HOME> ´Â JDK ÀÇ ÀνºÅçó µð·ºÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.
| »ý¼ºÀÚÀÇ °³¿ä | |
protected |
Policy ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. À¯ÀÏÇÑ constructor ÀÔ´Ï´Ù. |
| ¸Þ¼ÒµåÀÇ °³¿ä | |
abstract PermissionCollection |
getPermissions (Subject subject,
CodeSource cs)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÁöÁ¤ÇÑ CodeSource ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÈ Permission ¸¦ ÃëµæÇÕ´Ï´Ù.
|
static Policy |
getPolicy ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀνºÅç ³¡³ Policy ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract void |
refresh ()
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. Policy ÀÇ ¸®ÇÁ·¹½¬ ¹× Àç·Îµå¸¦ ½ÇÇàÇÕ´Ï´Ù. |
static void |
setPolicy (Policy policy)
Ãßõ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ½Ã½ºÅÛ ÀüüÀÇ Policy ¿ÀºêÁ§Æ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| »ý¼ºÀÚÀÇ »ó¼¼ |
protected Policy()
| ¸Þ¼ÒµåÀÇ »ó¼¼ |
public static Policy getPolicy()
AuthPermission("getPolicy") ¾×¼¼½º±ÇÀ» »ç¿ëÇØ SecurityManager.checkPermission ¸¦ È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÒ ¼ö ÀÖ´Â ¾×¼¼½º±ÇÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.
null °¡ µÇÁö ¾Ê´Â´Ù
SecurityException - ÇöÀçÀÇ thread°¡ Policy ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÏ´Â ¾×¼¼½º±ÇÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìsetPolicy(javax.security.auth.Policy) public static void setPolicy(Policy policy)
AuthPermission("setPolicy") ¾×¼¼½º±ÇÀ» »ç¿ëÇØ SecurityManager.checkPermission ¸¦ È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy ¸¦ ¼³Á¤ÇÏ´Â ¾×¼¼½º±ÇÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.
policy - ½Å±Ô ½Ã½ºÅÛ Policy ¿ÀºêÁ§Æ®
SecurityException - ÇöÀçÀÇ thread°¡ Policy ¸¦ ¼³Á¤ÇÏ´Â ¾×¼¼½º±ÇÀ» °¡ÁöÁö ¾Ê´Â °æ¿ìgetPolicy()
public abstract PermissionCollection getPermissions(Subject subject,
CodeSource cs)
CodeSource ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ¿¡ ºÎ¿©µÈ Permission ¸¦ ÃëµæÇÕ´Ï´Ù.
subject - Subject. Subject ¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø Principal ´Â ÁöÁ¤ÇÑ CodeSource ¿Í ÇÔ²², ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â Permission ¸¦ ÆÇÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â null µµ °¡´É
cs - CodeSource °¡ ÁöÁ¤ÇÑ ÄÚµå. CodeSource ´Â ÁöÁ¤ÇÑ Subject ¿Í ÇÔ²², ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â Permission ¸¦ ÆÇÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â null µµ °¡´É
- ¹Ýȯ°ª:
- subject ¹× cs ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤µÈ ¸ðµç
Subject ¹× Äڵ忡 ºÎ¿©µÈ Permission ÀÇ Collection public abstract void refresh()
ÀÌ ¸Þ¼Òµå´Â ÀÌ ¿ÀºêÁ§Æ®°¡, ÇöÀçÀÇ Æú¸®½ÃÀÇ ¸®ÇÁ·¹½¬³ª Àç·Îµå¸¦ ½Ç½ÃÇÏ´Â ¿øÀÎÀÌ µË´Ï´Ù. À̰ÍÀº ±¸Çö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Policy ¿ÀºêÁ§Æ®°¡ ÆÄÀÏ¿¡ ÀúÀåµÇ°í ÀÖ´Â °æ¿ì,refresh ¸¦ È£ÃâÇϸé(ÀÚ), ÆÄÀÏÀÌ Çѹø ´õ ÀоÁö°Ô µË´Ï´Ù.
SecurityException - È£Ãâ Ãø¿¡, Policy ¸¦ ¸®ÇÁ·¹½¬ ÇÏ´Â ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.