|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
java.lang.Objectjavax.security.auth.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
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 |
| »ý¼ºÀÚ »ó¼¼ |
|---|
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 ¹× Äڵ忡 ºÎ¿©µÈ Permission
Collectionpublic abstract void refresh()
ÀÌ ¸Þ¼µå´Â ÀÌ °´Ã¼¿¡
ÇöÀçÀÇ Á¤Ã¥
ÀÇ ¸®ÇÁ·¹½¬³ª Àç·Îµå¸¦ ½Ç½ÃÇÏ°Ô ÇÕ´Ï´Ù. À̰ÍÀº ±¸Çö¿¡
ÀÇÁ¸ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î Policy °´Ã¼°¡ ÆÄÀÏ¿¡ Æ÷ÇԵǰí ÀÖ´Â °æ¿ì, refresh¸¦ È£ÃâÇϸé, ÆÄÀÏÀÌ Çѹø ´õ ÀоÁö°Ô µË´Ï´Ù.
SecurityException - È£Ãâ Ãø¿¡
Policy¸¦ ¸®ÇÁ·¹½¬ ÇÏ´Â Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.