¶¯Ì¬ProxyÓëJava ACLÓû§·ÃÎÊ¿ØÖÆ»úÖÆÊµÏÖ
Óû§·ÃÎÊ¿ØÖÆ(Access control )»úÖÆ×ÜÊÇÎ§ÈÆ´ÖÁ£¶ÈºÍϸÁ£¶ÈÁ½¸ö·½ÃæÀ´ÌÖÂÛ£º
¡¡¡¡´ÖÁ£¶È¿ØÖÆ£º¿ÉÒԹ涨·ÃÎÊÕû¸ö¶ÔÏó»ò¶ÔÏóȺµÄij¸ö²ã£¬¶øÏ¸Á£¶È¿ØÖÆÔò×ÜÊÇÔÚ·½·¨»òÊôÐÔ²ã½øÐпØÖÆ£¬±ÈÈ磺
¡¡¡¡´ðÓ¦Ò»¸öÎļþΪֻ¶ÁÊÇÊôÓÚ´ÖÁ£¶È¿ØÖÆ£¬¶ø´ðÓ¦¶ÔÕâ¸öÎļþijÐÐÓÐд²Ù×÷ÔòÊôÓÚϸÁ£¶È¿ØÖÆ¡£
¡¡¡¡Ò»¸öºÃµÄÓû§¿ØÖÆ»úÖÆµ±È»¼È´ðÓ¦´ÖÁ£¶ÈÒ²´ðӦϸÁ£¶È¿ØÖÆ£¬ÔÚJiveÖÐÎÒÃÇ¿´µ½ÊÇʹÓÃProxyÀ´´ïµ½Õâ¸öÄ¿µÄ£¬µ«ÊÇÎÒÃÇÒ²·¢ÏÖ£¬ÓÉÓÚÐèÒª¶Ôÿ¸öÀà¶¼Òª½øÐÐϸÁ£¶È¿ØÖÆ£¬ËùÒÔ±ØÈ»¶Ôÿ¸öÀà¶¼Òª×öÒ»¸öProxyÀ࣬ÕâÑù´øÀ´Á˺ܶàProxyÀ࣬ÈçForumProxy ForumThreadProxy ForumFactoryProxyµÈ£¬ÎÞÐÎÔö¼ÓÁËϵͳ¸´ÔÓÐÔ¡£
¡¡¡¡
¡¡¡¡¡¡¡¡Ê¹Óö¯Ì¬Proxy¿ÉÒԺܺõĽâ¾öÕâ¸öÎÊÌâ¡£ÔÙ½áºÏJava.security.aclµÄACL»úÖÆ£¬ÎÒÃǾͿÉÒÔÁé»îµØÊµÏÖ´ÖÁ£¶ÈºÍϸÁ£¶ÈµÄË«ÖØ¿ØÖÆ¡£
¡¡¡¡
¡¡¡¡¡¡¡¡µ±Ò»¸öÓû§loginºó£¬ÎÒÃǾÍÒªÔÚÄÚ´æÖÐΪÆä½¨Á¢ÏàÓ¦µÄÊÚȨ·ÃÎÊ»úÖÆ£¬Ê¹ÓÃjava.security.acl¿ÉÒԺܷ½±ãµÄ½¨Á¢ÕâÑùÒ»¸ö°²È«ÏµÍ³¡£
¡¡¡¡
¡¡¡¡¡¡¡¡Ê×ÏÈÈκÎÒ»¸ö¶ÔÏó¶¼Ó¦¸ÃÓиö»ù±¾ÊôÐÔ£ºÓµÓÐÕß »òÓµÓÐÕßËùÊô×é(WindowsÖÐÿ¸öĿ¼°²È«ÃèÊö·û¶¼ÓÉ4²¿·Ö¹¹³É£º¶ÔÏóµÄ´´½¨Õß¡¢¶ÔÏóËùÊôµÄ×é¡¢×ÔÓÉ´æÈ¡¿ØÖƺÍϵͳ´æÈ¡¿ØÖÆ)¡£
¡¡¡¡1. Java acl¿ªÊ¼µÚÒ»²½Êǽ¨Á¢Ò»¸öÖ÷Ìå Principal£¬ÆäÖÐSecurityOwnerÊÇÖ÷ÌåµÄÓµÓÐÕߣº private static final Principal _securityOwner = new PrincipalImpl("SecurityOwner");
¡¡¡¡2. µ±Óû§login½øÀ´Ê±£¬Ëû´øÓÐÁ½¸ö»ù±¾Êý¾Ý£º·ÃÎÊÃÜÂëºÍËûÒª·ÃÎʵĶÔÏóApplicationName¡£Ê×ÏÈÑéÖ¤Óû§ÃûºÍÃÜÂ룬Ȼºó´ÓÊý¾Ý¿âÖÐÈ¡³öÆäȨÏÞÊý¾Ý£¬½¨Á¢Permission,ÕâÀïʹÓÃFeature¼ÌÐøÁËPermission£¬ÔÚFeatureÖж¨ÒåÁËÓйØÈ¨ÏÞµÄϸ½ÚÊý¾Ý£¨Èç¶Á д ɾ£©¡£
¡¡¡¡// È¡³öÓû§ºÍ±»·ÃÎʶÔÏóÖ®¼äµÄȨÏÞ¹ØÏµ,ÕâÖÖȨÏÞ¹ØÏµ¿ÉÄܲ»Ö»Ò»¸ö£¬Ò²¾ÍÊÇ˵£¬Óû§
¡¡¡¡//¿ÉÄܶԱ»·ÃÎʶÔÏóÓµÓжÁ д ɾµÈ¶à¸öȨÏÞ£¬½«Æä´ò°üÔÚHasBTableÖС£
¡¡¡¡Hashtable features = loadFeaturesForUser(sApplicationName, sUserID);
¡¡¡¡3. ´´½¨Ò»¸öÓû§¶ÔÏó
¡¡¡¡User user = new UserImpl(sUserID, new Hashtable() );
¡¡¡¡4. ΪÕâ¸öÓû§´´½¨Ò»¸ö»î¶¯µÄacl entry
¡¡¡¡addAclEntry( user, features);
¡¡¡¡ÆäÖÐ×îÒªº¦µÄÊǵÚËIJ½addAclEntry,ÎÒÃÇ¿´¿´ÆäÈçºÎʵÏֵģº
¡¡¡¡// ΪÕâ¸öÓû§´´½¨Ò»¸öеÄAcl entry
¡¡¡¡AclEntry newAclEntry = new AclEntryImpl( user);
¡¡¡¡
¡¡¡¡//±éÀúHashtable features£¬½«ÆäÖжàÖÖȨÏÞ¼ÓÈë:
Ïà¹ØÎĵµ£º
Ê×ÏÈÉùÃ÷һϣ¬´ËÎÄÕÂʱ´ÓÍøÉÏ×ªÔØµÄ¡£ÈçϵÄijЩ·½·¨ÊÇȷʵ¹ÜÓ㬵«ÊÇ´ÓÖз¢ÏÖÁËÓÐÒ»µã²»×㣬¾ÍÊÇÔÎıÊÕßû¿¼ÂÇʹÓò»Í¬Web
Serverʱ³öÏÖµÄÇé¿ö£¬±ÈÈçÎÄÕÂÀïÎÒÓÃ
ºìÉ«×ÖÌå
»³öÀ´µÄ²¿·Ö´úÂëÔÚTomcatÅܵÄʱºòµÃÓÃËû˵µÄ·½·¨£¬²»¹ýµ½ÁËWebSphereµÄʱºò±ØÐëµÃÓÃÔÏȵÄ
String name = request.getParameter("name& ......
´úÂë¿é£º¾ÍÊÇÓÃ{}À¨ÆðÀ´µ½²¿·Ö¡£¸ù¾ÝÓ¦ÓõIJ»Í¬·ÖΪ4Àà:ÆÕͨ´úÂë¿é¡¢¹¹Ôì¿é¡¢¾²Ì¬´úÂë¿é¡¢Í¬²½´úÂë¿é¡£
1.ÆÕͨ´úÂë¿é£º¶¨ÒåÔÚ·½·¨ÖеĴúÂë¿é¡£
È磺
public class Ex22 {
public static void main(String[] args){
// ÆÕͨ´úÂë¿é
{
int i = 3;
System ......
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇ
class£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â
(collections£¬serialization£¬streams£¬networking£¬
multithreading£¬reflection£¬event£ ......
JAVAÓïÑԵķ¢Õ¹Ê·
1991Ä꣬Sun¹«Ë¾ÎªÄܹ»ÔÚÏû·Ñµç×Ó²úÆ·ÉÏ¿ª·¢Ó¦ÓóÌÐò£¬Ñ°ÕÒºÏÊʵıà³ÌÓïÑÔ
Ïû·Ñµç×Ó²úÆ·ÖÖÀà·±¶à£¬´¦ÀíоƬºÍ²Ù×÷ϵͳҲ²»Ïàͬ£¬´æÔÚ×Å¿çÆ½Ì¨µÄÎÊÌâ
C++¹ýÓÚ¸´ÔÓºÍÅӴ󣬰²È«ÐÔÒ²²¢²»ÁîÈËÂúÒâ¡£ÓÚÊǾÍ×ÅÊÖÉè¼ÆºÍ¿ª·¢³öÒ»ÖÖÓïÑÔ£¬³ÆÖ®ÎªOak
OakÓïÑÔÔÚÉÌÒµÉϲ¢Î´»ñµÃ³É¹¦
¶«·½²»ÁÁÎ÷·½ÁÁ
1995Ä꣬» ......
JAVAÕýÔò±í´ïʽ--PatternºÍMatcher
×÷Õߣº³Â¹ã¼Ñ ÎÄÕÂÀ´Ô´£ºwww.fooldock.com
·¢²¼ÈÕÆÚ£º2004Äê11ÔÂ19ÈÕ ä¯ÀÀ´ÎÊý£º2585´Î
ÏÖÔÚJDK1.4ÀïÖÕÓÚÓÐÁË×Ô¼ºµÄÕýÔò±í´ïʽAPI°ü£¬JAVA³ÌÐòÔ±¿ÉÒÔÃâÈ¥ÕÒµÚÈý·½ÌṩµÄÕýÔò±í´ïʽ¿âµÄÖÜÕÛÁË£¬ÎÒÃÇÏÖÔÚ¾ÍÂíÉÏÀ´Á˽âÒ»ÏÂÕâ¸öSUNÌṩµÄ³Ù ......