JavaTM 2 Platform
Standard Ed. 5.0

javax.security.auth
Ŭ·¡½º Policy

java.lang.Object 
  »óÀ§¸¦ È®Àå javax.security.auth.Policy

ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  JDK ¹öÀü 1.4 ·Î java.security.Policy ·Î ¿Å°ÜÁ³½À´Ï´Ù. java.security.Policy¿¡´Â ´ÙÀ½ÀÇ ¸Þ¼­µå°¡ Á¸ÀçÇÕ´Ï´Ù.

        public PermissionCollection getPermissions
            (java.security.ProtectionDomain pd)
 
 
¶Ç, ProtectionDomain¿¡´Â ´ÙÀ½ÀÇ »ý¼ºÀÚ°¡ ÀÖ½À´Ï´Ù.

        public ProtectionDomain
            (CodeSource cs,
             PermissionCollection permissions,
             ClassLoader loader,
             Principal[] principals)
 
À̰͵é 2°³ÀÇ API´Â È£Ãâ Ãø¿¡ Principal º£À̽ºÀÇ Permission ¿£Æ®¸®¿ë Policy ¹®ÀǸ¦ ½ÇÇàÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.

@Deprecated 
public abstract class Policy
extends Object

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 ·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¼ÂÀÕ´ÜÀ½Ç¥, ±×¸®°í ±× ¼ÂÀÕ´ÜÀ½Ç¥¿¡ ºÎ¿©µÈ PermissionÀ» ÁöÁ¤ÇÕ´Ï´Ù.


        grant CodeBase ["URL"], Signedby ["signers"],
              Principal [Principal_Class] "Principal_Name" {
            Permission Permission_Class ["Target_Name"]
                                        [, "Permission_Actions"]
                                        [, signedBy "SignerName"];
        };
 
À̸§/Ä¡ Æä¾îÀÇ ¼ÂÀÕ´ÜÀ½Ç¥ °¡¿îµ¥, 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°¡ Subject.doAs¿¡ °Ô °Ç³×Áö´Â Subject¿¡ °ü·ÃµÈ ÀÎ °æ¿ì¸¸, ÁöÁ¤µÈ Permissions°¡ ±× 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 ()
          ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  À¯ÀÏÇÑ »ý¼ºÀÚ ÀÔ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
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
 

»ý¼ºÀÚ »ó¼¼

Policy

protected Policy()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  
À¯ÀÏÇÑ »ý¼ºÀÚ ÀÔ´Ï´Ù. ¼­ºê Ŭ·¡½ºÀÇ »ý¼ºÀÚ¿¡ ÇÑ È£ÃâÀº ÀϹÝÀûÀ¸·Î ¾Ï¹¬ÀûÀΠȣÃâÀÔ´Ï´Ù.

¸Þ¼­µåÀÇ »ó¼¼

getPolicy

public static Policy  getPolicy()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  
ÀνºÅç ³¡³­ Policy °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÃÖÃÊ·Î AuthPermission("getPolicy") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ SecurityManager.checkPermissionÀ» È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy °´Ã¼¸¦ ÃëµæÇÒ ¼ö ÀÖ´Â Á¢±Ù ±ÇÇÑÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀνºÅç ³¡³­ Policy. ¹Ýȯ°ªÀº nullÀÌ µÇÁö ¾Ê´Â´Ù
¿¹¿Ü:
SecurityException - ÇöÀçÀÇ thread°¡ Policy °´Ã¼¸¦ ¾ò´Â Á¢±Ù ±ÇÇÑÀ» °¡ÁöÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
setPolicy(javax.security.auth.Policy)

setPolicy

public static void setPolicy(Policy  policy)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  
½Ã½ºÅÛ ÀüüÀÇ Policy °´Ã¼¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÃÖÃÊ·Î AuthPermission("setPolicy") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ SecurityManager.checkPermissionÀ» È£ÃâÇØ, È£Ãâ Ãø¿¡ Policy¸¦ ¼³Á¤ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
policy - »õ·Î¿î ½Ã½ºÅÛ Policy °´Ã¼
¿¹¿Ü:
SecurityException - ÇöÀçÀÇ thread°¡ Policy¸¦ ¼³Á¤ÇÏ´Â Á¢±Ù ±ÇÇÑÀ» °¡ÁöÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
getPolicy()

getPermissions

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

refresh

public abstract void refresh()
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  
Policy ¸®ÇÁ·¹½¬ ¹× Àç·Îµå¸¦ ½ÇÇàÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÀÌ °´Ã¼¿¡ ÇöÀçÀÇ Á¤Ã¥ ÀÇ ¸®ÇÁ·¹½¬³ª Àç·Îµå¸¦ ½Ç½ÃÇÏ°Ô ÇÕ´Ï´Ù. ÀÌ°ÍÀº ±¸Çö¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Policy °´Ã¼°¡ ÆÄÀÏ¿¡ Æ÷ÇԵǰí ÀÖ´Â °æ¿ì, refresh¸¦ È£ÃâÇϸé, ÆÄÀÏÀÌ Çѹø ´õ ÀоÁö°Ô µË´Ï´Ù.

¿¹¿Ü:
SecurityException - È£Ãâ Ãø¿¡ Policy¸¦ ¸®ÇÁ·¹½¬ ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.