Java°²È«¹ÜÀíÆ÷Security Manager
ÿ¸öJavaÓ¦Óö¼¿ÉÒÔÓÐ×Ô¼ºµÄ°²È«¹ÜÀíÆ÷£¬ËüÊÇ·À·¶¶ñÒâ¹¥»÷µÄÖ÷Òª°²È«ÎÀÊ¿¡£°²È«¹ÜÀíÆ÷ͨ¹ýÖ´ÐÐÔËÐн׶μì²éºÍ·ÃÎÊÊÚȨ£¬ÒÔʵʩӦÓÃËùÐèµÄ°²È«²ßÂÔ£¬´Ó¶ø±£»¤×ÊÔ´ÃâÊܶñÒâ²Ù×÷µÄ¹¥»÷¡£Êµ¼ÊÉÏ£¬°²È«¹ÜÀíÆ÷¸ù¾ÝJava°²È«²ßÂÔÎļþ¾ö¶¨½«ÄÄ×éȨÏÞÊÚÓèÀࡣȻ¶ø£¬µ±²»¿ÉÐŵÄÀàºÍµÚÈý·½Ó¦ÓÃʹÓÃJVMʱ£¬Java°²È«¹ÜÀíÆ÷½«Ê¹ÓÃÓëJVMÏà¹ØµÄ°²È«²ßÂÔÀ´Ê¶±ð¶ñÒâ²Ù×÷¡£ÔںܶàÇé¿öÏ£¬ÍþвģÐͲ»°üº¬ÔËÐÐÓÚJVMÖеĶñÒâ´úÂ룬´ËʱJava°²È«¹ÜÀíÆ÷±ã²»ÊDZØÐèµÄ¡£µ±°²È«¹ÜÀíÆ÷¼ì²âµ½Î¥·´°²È«²ßÂԵIJÙ×÷ʱ£¬JVM½«Òý·¢AccessControlException»òSecurityException¡£
ÔÚJavaÓ¦ÓÃÖУ¬°²È«¹ÜÀíÆ÷ÊÇÓÉSystemÀàÖеķ½·¨setSecurityManagerÉèÖõġ£Òª»ñµÃµ±Ç°µÄ°²È«¹ÜÀíÆ÷£¬¿ÉÒÔʹÓ÷½·¨getSecurityManager¡£
java.lang.SecurityManagerÀà°üº¬Á˺ܶàcheckXXXX·½·¨£¬ÈçÓÃÓÚÅж϶ÔÎļþ·ÃÎÊȨÏÞµÄcheckRead(String file)·½·¨¡£ÕâЩ¼ì²é·½·¨µ÷ÓÃSecurityManager.checkPermission·½·¨£¬ºóÕ߸ù¾Ý°²È«²ßÂÔÎļþÅжϵ÷ÓÃÓ¦ÓÃÊÇ·ñÓÐÖ´ÐÐËùÇëÇóµÄ²Ù×÷ȨÏÞ¡£Èç¹ûûÓУ¬½«Òý·¢SecurityException¡£
Èç¹ûÏëÈÃÓ¦ÓÃʹÓð²È«¹ÜÀíÆ÷ºÍ°²È«²ßÂÔ£¬¿ÉÔÚÆô¶¯JVMʱÉ趨-Djava.security.managerÑ¡Ï»¹¿ÉÒÔͬʱָ¶¨°²È«²ßÂÔÎļþ¡£Èç¹ûÔÚÓ¦ÓÃÖÐÆôÓÃÁËJava°²È«¹ÜÀíÆ÷£¬È´Ã»ÓÐÖ¸¶¨°²È«²ßÂÔÎļþ£¬ÄÇôJava°²È«¹ÜÀíÆ÷½«Ê¹ÓÃĬÈϵݲȫ²ßÂÔ£¬ËüÃÇÊÇÓÉλÓÚĿ¼$JAVA_HOME/jre/lib/securityÖеÄjava.policy¶¨ÒåµÄ¡£
¸ÅÄî
²ßÂÔ(Policy)
Àà×°ÔØÆ÷ÓÃPolicy¶ÔÏó°ïÖúËüÃǾö¶¨£¬°ÑÒ»¶Î´úÂëµ¼ÈëÐéÄâ»úʱӦ¸Ã¸øËüÃÇʲôÑùµÄȨÏÞ. ÈκÎʱºò£¬Ã¿Ò»¸öÓ¦ÓóÌÐò¶¼Ö»ÓÐÒ»¸öPolicy¶ÔÏó.
²ßÂÔÎļþ
SunµÄjava1.2ƽ̨¾ßÌåµÄPolicy×ÓÀà²ÉÓÃÔÚÒ»ASCII²ßÂÔÎļþÖÐÓÃÉÏÏÂÎÄÎÞ¹ØÎÄ·¨ÃèÊö°²È«²ßÂÔ.
Ò»¸ö²ßÂÔÎļþ°üÀ¨ÁËһϵÁÐgrant×Ӿ䣬ÿһ¸ögrant×Ӿ佫һЩȨÏÞÊÚ¸øÒ»¸ö´úÂëÀ´Ô´¡£
±£»¤Óò(ProtectionDomain)
µ±Àà×°ÔØÆ÷½«ÀàÐÍ×°ÈëjavaÐéÄâ»úʱ£¬ËüÃǽ«ÎªÃ¿Ò»¸öÀàÐÍÖ¸ÅÉÒ»¸ö±£»¤Óò£¬±£»¤Óò¶¨ÒåÁËÊÚÓèÒ»¶ÎÌØ¶¨µÄ´úÂëµÄËùÓÐȨÏÞ.×°ÔØÈëjavaÐéÄâ»úµÄÿһ¸öÀàÐͶ¼ÊôÓÚÒ»¸öÇÒ½öÊôÓÚÒ»¸ö±£»¤Óò.
·ÃÎÊ¿ØÖÆÆ÷(AccessController)
implies()
ÅжÏÒ»¸öPermissioin¶ÔÏóµÄȨÏÞ£¬ÊÇ·ñÒþº¬(imply)ÔÚÁíÒ»¸öPermissio
Ïà¹ØÎĵµ£º
JavaÓïÑÔ·´ÉäÌṩһÖÖ¶¯Ì¬Á´½Ó³ÌÐò×é¼þµÄ¶à¹¦ÄÜ·½·¨¡£ËüÔÊÐí³ÌÐò´´½¨ºÍ¿ØÖÆÈκÎÀàµÄ¶ÔÏó(¸ù¾Ý°²È«ÐÔÏÞÖÆ)£¬ÎÞÐèÌáǰӲ±àÂëÄ¿±êÀà¡£ÕâÐ©ÌØÐÔʹµÃ·´ÉäÌØ±ðÊÊÓÃÓÚ´´½¨ÒԷdz£ÆÕͨµÄ·½Ê½Óë¶ÔÏóÐ×÷µÄ¿â¡£ÀýÈ磬·´Éä¾³£ÔÚ³ÖÐø´æ´¢¶ÔÏóΪÊý¾Ý¿â¡¢XML»òÆäËüÍⲿ¸ñʽµÄ¿ò¼ÜÖÐʹÓá£Java reflection ·Ç³£ ......
ÔÚjavaÓïÑÔÖУ¬I/OµÄ·½Ê½ÊÇÁ÷µÄ·½Ê½¡£Á÷£¨stream£©ÕâÊǸöѧϰjavaÊäÈëÊä³öµÄ×î»ù±¾µÄ¸ÅÄî¡£Á÷ÊÇ×Ö½Ú´ÓÔ´µ½Ä¿µÄµÄÓÐÐòÐòÁС£Ò»·½ÃæÊÇ×Ö½Ú£¬Ò»·½ÃæÊÇÓÐÐòµÄ¡£Á÷ÃèÊöµÄÊÇÒ»¸ö¹ý³Ì£¬Ë³ÐòÑϸñ¡£Ò»¸öÐèÒª¼üÅÌÊäÈëµÄ³ÌÐò¿ÉÒÔÓÃÁ÷À´×öµ½ÕâÒ»µã¡£Á½ÖÖ»ù±¾µÄÁ÷ÊÇ£ºÊäÈëÁ÷ºÍÊä³öÁ÷¡£Äã¿ÉÒÔ´ÓÊäÈëÁ÷¶Á£¬µ«Äã²»ÄܶÔËüд¡£Òª´ÓÊäÈëÁ ......
JavaÓïÑÔÖеĸÅÄî¾ÍÊǶ࣬Õâ»ØÓÖÓÐÁ½¸ö¸ÅÄî£¬ÖØÔØºÍÖØÐ´¡£ÕâÊÇÁ½¸öиÅÄҲÊÇÁ½¸öÁî³õѧÕßÈÝÒ×»ìÏýµÄ¸ÅÄî¡£ËûÃǵĸÅÄî½ØÈ»²»Í¬£¬Ö»²»¹ý¶¼Óиö“ÖØ”×Ö£¬¾ÍÒÔΪÊǺÜÏñµÄ¡£ÏÂÃæ½âÊÍÒ»ÏÂÕâÁ½¸ö¸ÅÄ
·½·¨ÖØÔØ(overloading method) ÊÇÔÚÒ»¸öÀàÀïÃæ£¬·½·¨Ãû×ÖÏàͬ£¬¶ø²ÎÊý²»Í¬¡£·µ»ØÀàÐÍÄØ£¿¿ÉÒÔÏàͬҲ¿ÉÒÔ ......
1.ʵÏÖÎı¾ÔĶÁ
package AllAboutFile;
/**
*
* @author lucifer
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileViewer extends Frame implements ActionListener{
String directory;
Text ......
OpenJWeb(1.8) Java WebÓ¦ÓÿìËÙ¿ª·¢Æ½Ì¨µÄ×÷ÕßÊÇÎÒÃǼ¼ÊõÁªÃ˵ijÉÔ±£¬Ëû×î½üÍÆ³öÁËа汾µÄ¿ìËÙÓ¦Óÿª·¢Æ½Ì¨ OpenJWeb(1.8)£¬ÎÒ°ïËû×ö×öÐû´«
OpenJWeb¿ìËÙ¿ª·¢Æ½Ì¨ÒÔ¿ìËÙ¿ª·¢ÎªºËÐÄ£¬ÕûºÏÏȽøµÄjava
¿ªÔ´¿ò¼Ü£¬±¾×Å×ÔÖ÷¿ª·¢+Ó¦Óü¯³ÉÏà½áºÏµÄÔÔò£¬Ö¼ÔÚΪÕþ¸®¡¢ÆóÊÂÒµµ¥Î»¡¢Èí¼þ¹«Ë¾µÈƽ̨Óû§Ìṩһ ......