Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Apache Shiro Java°²È«¼Ü¹¹Ïê½â
 
×÷Õߣº³¾_Öñ
  2261  次浏览      23
2020-7-8 
 
±à¼­ÍƼö:
±¾ÎĽéÉÜÁËApache Shiro¼Ü¹¹Ïê½â£¬°üÀ¨£º¸ß²ãÊÓͼ£¬Ïêϸ¼Ü¹¹£¬ShrioÉè¼ÆµÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ¼òÊ飬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

Apache Shiro ÊÇÒ»¸ö¹¦ÄÜÇ¿´óÇÒÒ×ÓÚʹÓõÄJava°²È«¿ò¼Ü£¬¿ÉÖ´ÐÐÉí·ÝÑéÖ¤£¬ÊÚȨ£¬¼ÓÃܺͻỰ¹ÜÀí¡£½èÖúShiroÒ×ÓÚÀí½âµÄAPI£¬Äú¿ÉÒÔ¿ìËÙÇáËɵر£»¤ÈκÎÓ¦ÓóÌÐò¡ª¡ª´Ó×îСµÄÒƶ¯Ó¦ÓóÌÐòµ½×î´óµÄWebºÍÆóÒµÓ¦ÓóÌÐò£¬ÎÞËù²»ÄÜ¡£ÎªÁËÄܸüºÃµÄѧϰºÍÓ¦Óô˿ò¼Ü£¬±¾ÎÄÖ÷Òª½²½âÆä¼Ü¹¹×é³É¡£

Apache Shiro£¨×îаæΪ1.3.2£©µÄÉè¼ÆÄ¿±êÊÇͨ¹ýÖ±¹ÛÇÒÒ×ÓÚʹÓ÷½Ê½À´¼ò»¯Ó¦ÓóÌÐòµÄ°²È«ÐÔ´¦Àí¡£ShiroµÄºËÐÄÉè¼ÆÄ£ÐÍ£¬À´Ô´ÓÚ´ó¶àÊýÈ˶ÔÓ¦Óð²È«ÐÔ˼¿¼£¬¼´ÔÚÏà¹Ø£¨Ä³ÀàÈË»òÊ£©±³¾°ÏÂʵÏÖÓëÓ¦ÓõݲȫÐÔ½»»¥¡£

Èí¼þÓ¦ÓóÌÐòͨ³£»ùÓÚÓû§¹ÊʶøÉè¼Æ¡£ Ò²¾ÍÊÇ˵£¬Äú¾­³£»á¸ù¾ÝÓû§½«»á£¨»òÓ¦¸Ã£©ÔõÑùÓëÈí¼þ½øÐн»»¥À´Éè¼ÆÓû§½Ó¿Ú»ò·þÎñAPI¡£ ÀýÈ磬ÔڵǼϵͳÃèÊöµÄ³¡¾°ÖУ¬Äú¿ÉÄÜ»á˵£º"Èç¹ûÓû§ÓëÎÒµÄÓ¦ÓóÌÐò½øÐеǽºó½»»¥£¬ÎÒ»áÏòËûÃÇÏÔʾһ¸ö°´Å¥£¬ËûÃÇ¿ÉÒÔµã»÷²é¿´ÆäÕÊ»§ÐÅÏ¢¡£Èç¹ûËûÃÇûÓеǼ£¬ÎÒ»áÏÔʾһ¸ö×¢²á°´Å¥¡£"

´ËʾÀýÓï¾ä±íÃ÷Ó¦ÓóÌÐòµÄ±àдÖ÷ÒªÊÇΪÁËÂú×ãÓû§ÒªÇóºÍÐèÒª¡£ ¼´Ê¹¡°Óû§¡±ÊÇÁíÒ»¸öÈí¼þϵͳ¶ø²»ÊÇÈË£¬µ«ÄúÈÔÈ»±àд´úÂëÀ´·´Ó³»ùÓÚµ±Ç°ÓëÄúµÄÈí¼þ½øÐн»»¥µÄÈË£¨»òÕßÆäËüʲô£©µÄÐÐΪ¡£

ShiroÒÔ×Ô¼ºµÄÉè¼ÆÀíÄî·´Ó³ÁËÕâЩ¸ÅÄî¡£ »»¾ä»°Ëµ£¬Shiro°²È«¿ò¼ÜµÄʵÏÖÀ´Ô´ÕæʵµÄÓ¦Óó¡¾°£¬Æ¥ÅäÈí¼þ¿ª·¢ÈËÔ±¾­³£Ãæ¶ÔÇÒÒѾ­ºÜÖ±¹ÛµÄ¶«Î÷£¬¶øÇÒApache ShiroÔÚ¼¸ºõÈκÎÓ¦ÓóÌÐòÖж¼±£³ÖÖ±¹ÛºÍÒ×ÓÃÐÔ¡£

½ÓÏÂÀ´£¬ÎÒÃÇ´ÓÈçÏÂÈý¸ö·½ÃæÀ´Ïêϸ²ûÊöShiroµÄ¼Ü¹¹¡£

1¡¢¸ß²ãÊÓͼ

ÔÚ×î¸ßµÄ¸ÅÄî²ãÃæÉÏ£¬ShiroµÄ¼Ü¹¹ÓÐÈý¸öÖ÷Òª¸ÅÄÖ÷Ì壨Subject£©£¬°²È«¹ÜÀíÆ÷£¨SecurityManager£©ºÍÁìÓò£¨Realms£©¡£ ÒÔÏÂͼ±í¾ÍÊÇÕâЩ×é¼þÈçºÎ½»»¥µÄ¸ß²ãÊÓͼ»ò¸ß¼¶×ÜÀÀ£¬ÏÂÃæÎÒÃǽ«Ì¸ÂÛÆäÖеĵÄÿ¸ö¸ÅÄ

Ö÷Ì壨Subject£©£ºÈçÉÏͼËùʾ£¬Ö÷Ìå(Subject)±¾ÖÊÉÏÊǵ±Ç°ÕýÔÚÖ´ÐÐÖеÄÓû§µÄÌض¨°²È«"ÊÓͼ"¡£ ¾¡¹Ü"Óû§"Ò»´Êͨ³£Òâζ×ÅÒ»¸öÈË£¬µ«Ò»¸öÖ÷ÌåSubject¿ÉÒÔÊÇÒ»¸öÈË£¬Ò²¿É´ú±íµÚÈý·½·þÎñ¡¢ÊØ»¤½ø³ÌÕË»§£¬cron×÷Òµ»òÀàËƵÄÈκζ«Î÷ - »ù±¾ÉÏÈκε±Ç°Óë¸ÃÈí¼þ½øÐн»»¥µÄÈκζ«Î÷£¬¶¼¿É³Æ³ÆΪÖ÷Ìå¡£

Ö÷ÌåsubjectʵÀý¶¼Êǰ󶨵½£¨²¢ÇÒÐèÒª£©SecurityManager£¨°²È«¹ÜÀíÆ÷£©µÄ¡£ µ±ÄúÓëÖ÷ÌåSubject½øÐн»»¥Ê±£¬ÕâЩ½»»¥»áת»¯ÎªÓëSecurityManagerÌض¨µÄÖ÷Ìå½øÐн»»¥£¬Ò²¾ÍÊÇ˵ÓÉSecurityManager´úÀíÍê³ÉÓëÖ÷ÌåµÄ½»»¥¡£

°²È«¹ÜÀíÆ÷£¨SecurityManager£©£ºSecurityManagerÊÇShiroÌåϵ½á¹¹µÄºËÐÄ£¬³äµ±Ò»ÖÖ"±£»¤É¡"ʽ¶ÔÏó£¬Ð­µ÷ÆäÄÚ²¿°²È«×é¼þ£¬Ê¹ËüÃÇÒ»ÆðÐγÉÒ»¸ö¶ÔÏóͼ¡£ È»¶ø£¬Ò»µ©ÎªÓ¦ÓóÌÐòÅäÖÃÁËSecurityManager¼°ÆäÄÚ²¿¶ÔÏóͼ£¬Ëüͨ³£»á¶ÀÁ¢´æÔڵģ¬Ó¦ÓóÌÐò¿ª·¢ÈËÔ±¼¸ºõ½«ËùÓÐʱ¼ä¶¼ÓÃÓÚSubject APIµÄʹÓÃÉÏ¡£

ÎÒÃÇÉÔºó½«ÏêϸÌÖÂÛSecurityManager£¬µ«ÖØÒªµÄÊÇÒªÈÏʶµ½£¬µ±ÄúÓëSubject½øÐн»»¥Ê±£¬ÆäʵÕæÕýµÄÊÇÄ»ºóSecurityManager£¬ËüΪSubject°²È«²Ù×÷×öÁËËùÓз±ÖصŤ×÷¡£ Õâ·´Ó³ÔÚÉÏÃæµÄ»ù±¾Á÷³ÌͼÖС£

ÁìÓò£¨Realms£©£ºÁìÓò£¨Realms£©³äµ±ShiroºÍÓ¦ÓóÌÐò°²È«Êý¾ÝÖ®¼äµÄ"ÇÅÁº"»ò"Á¬½ÓÆ÷"¡£µ±ÐèҪʵ¼ÊÓëÓû§ÕÊ»§µÈ°²È«Ïà¹ØÊý¾Ý½øÐн»»¥Ê±£¬ÈçÖ´ÐÐÉí·ÝÑéÖ¤£¨µÇ¼£©ºÍÊÚȨ£¨·ÃÎÊ¿ØÖÆ£©£¬Shiro½«´ÓΪӦÓóÌÐòÅäÖõÄÒ»¸ö»ò¶à¸öÁìÓòÖвéÕÒÐí¶àÕâЩÏà¹ØÄÚÈÝ¡£

´ÓÕâ¸öÒâÒåÉÏÀ´Ëµ£¬Realm±¾ÖÊÉÏÊÇÒ»¸öÌض¨°²È«µÄDAO£ºËü·â×°Êý¾ÝÔ´µÄÁ¬½Óϸ½Ú£¬²¢¸ù¾ÝÐèÒª½«Ïà¹ØÊý¾ÝÌṩ¸øShiro¡£ ÅäÖÃShiroʱ£¬Äú±ØÐëÖÁÉÙÖ¸¶¨Ò»¸öRealmÓÃÓÚÈÏÖ¤ºÍ/»òÊÚȨ¡£SecurityManager¿ÉÄÜÅäÖÃÓжà¸öÁìÓò£¬µ«ÖÁÉÙÐèÒªÒ»¸ö¡£

Õë¶ÔÐí¶à°²È«Êý¾ÝÔ´£¨Ò²ÓнÐĿ¼·þÎñ£©£¬ShiroÌṩÁË¿ªÏä¼´ÓõÄRealmÁ¬½Ó£¬ÈçLDAP¡¢¹ØϵÊý¾Ý¿â£¨JDBC£©¡¢Îı¾ÅäÖÃÔ´£¨ÈçINIºÍÊôÐÔÎļþµÈ£©¡£ Èç¹ûĬÈϵÄRealms²»ÄÜÂú×ãÄúµÄÐèÇó£¬Äú¿ÉÒÔ²åÈë×Ô¼ºµÄRealmʵÏÖÀ´±íʾ×Ô¶¨ÒåÊý¾ÝÔ´¡£

ÏñÆäËûÄÚ²¿×é¼þÒ»Ñù£¬ShiroµÄSecurityManager¹ÜÀí×ÅÈçºÎʹÓÃÁìÓòÀ´»ñÈ¡°²È«ºÍÉí·ÝÊý¾Ý£¬²¢ÒÔÖ®±íʾΪÖ÷ÌåSubjectʵÀý¡£

2¡¢Ïêϸ¼Ü¹¹

ÏÂͼÏÔʾÁËShiroµÄºËÐļܹ¹×é³É£¬È»ºóÊÇÿ¸ö¸ÅÄîµÄ¾«¼òÕªÒªÃèÊö£º

Ö÷Ìå-Subject£¨org.apache.shiro.subject.Subject£©

µ±Ç°ÓëÈí¼þ½»»¥µÄʵÌ壨Óû§£¬µÚÈý·½·þÎñ£¬cron×÷ÒµµÈ£©µÄÌض¨°²È«"ÊÓͼ"¡£

°²È«¹ÜÀíÆ÷-SecurityManager£¨org.apache.shiro.mgt.SecurityManager£©

ÈçÉÏËùÊö£¬SecurityManagerÊÇShiro¼Ü¹¹µÄºËÐÄ¡£ ËüÖ÷ÒªÊÇÒ»¸ö¡°±£»¤É¡¡±Ê½¶ÔÏó£¬ÓÃÓÚЭµ÷ÆäÍйÜ×é¼þÒÔÈ·±£ËüÃÇÒ»Æð˳ÀûÔËÐС£ Ëü»¹¹ÜÀí×ÅShiro¶Ôÿ¸öÓ¦ÓÃÓû§µÄÊÓͼ£¬Òò´ËËüÖªµÀÈçºÎΪÿ¸öÓû§Ö´Ðа²È«²Ù×÷¡£

Éí·ÝÈÏÖ¤Æ÷£¨org.apache.shiro.authc.Authenticator£©

AuthenticatorÊǸºÔðÖ´ÐкÍÏìÓ¦Óû§µÄÈÏÖ¤£¨µÇ¼£©³¢ÊÔµÄ×é¼þ¡£ µ±Óû§³¢ÊԵǼʱ£¬¸ÃÂß¼­ÓÉAuthenticatorÖ´ÐС£ ÈÏÖ¤Æ÷ÖªµÀÈçºÎÓë´æ´¢Ïà¹ØÓû§/ÕË»§ÐÅÏ¢µÄÒ»¸ö»ò¶à¸öÁìÓòЭµ÷¡£´ÓÕâЩÁìÓò»ñµÃµÄÊý¾ÝÓÃÓÚÑéÖ¤Óû§µÄÉí·Ý£¬ÒÔÈ·±£Óû§È·ÊµÊÇËûÃÇËù×ÔνµÄÈË¡£

-Éí·ÝÑéÖ¤²ßÂÔ£¨org.apache.shiro.authc.pam.AuthenticationStrategy£©

Èç¹ûÅäÖÃÁ˶à¸öRealm£¬ÔòAuthenticationStrategy½«Ð­µ÷RealmÒÔÈ·¶¨ÈÏÖ¤³¢ÊԳɹ¦»òʧ°ÜµÄÌõ¼þ£¨ÀýÈ磬Èç¹ûÒ»¸öÁìÓò³É¹¦µ«ÆäËûʧ°Ü£¬Ôò³¢ÊԳɹ¦Óë·ñ£¿ÊÇ·ñËùÓÐÁìÓò¶¼±ØÐë³É¹¦£¿»¹ÊǽöÐèÒªµÚÒ»³É¹¦¼´¿É£¿£©¡£

ÊÚȨÆ÷£¨org.apache.shiro.authz.Authorizer£©

AuthorizerÊǸºÔðÈ·¶¨Ó¦ÓóÌÐòÖÐÓû§·ÃÎÊ¿ØÖƵÄ×é¼þ¡£ ÕâÊÇ×îÖÕ˵Ã÷Óû§ÊÇ·ñ±»ÔÊÐí×öijʵĻúÖÆ¡£ÓëÉí·ÝÈÏÖ¤Æ÷Ò»Ñù£¬ÊÚȨÆ÷AuthorizerÒ²ÖªµÀÈçºÎÓë¶à¸öºó¶ËÊý¾ÝԴЭµ÷ÒÔ·ÃÎʽÇÉ«ºÍȨÏÞÐÅÏ¢¡£ ÊÚȨÆ÷AuthorizerʹÓôËÐÅÏ¢À´È·¶¨ÊÇ·ñÔÊÐíÓû§Ö´Ðиø¶¨²Ù×÷¡£

»á»°¹ÜÀíÆ÷£¨org.apache.shiro.session.mgt.SessionManager£©

SessionManagerÖªµÀÈçºÎ´´½¨ºÍ¹ÜÀíÓû§»á»°µÄÉúÃüÖÜÆÚ£¬ÒÔ±ãΪËùÓл·¾³ÖеÄÓû§Ìṩ½¡×³µÄ»á»°ÌåÑé¡£ÕâÊÇ°²È«¿ò¼ÜÊÀ½çÖеÄÒ»Ïî¶ÀÌع¦ÄÜ - ¼´Ê¹Ã»ÓпÉÓõÄWeb/Servlet»òEJBÈÝÆ÷£¬ShiroÒ²Äܹ»ÔÚÈκλ·¾³Öб¾µØ¹ÜÀíÓû§»á»°¡£ ĬÈÏÇé¿öÏ£¬Shiro½«Ê¹ÓÃÏÖÓлỰ»úÖÆ£¨ÈçServletÈÝÆ÷£©£¬µ«Èç¹ûûÓУ¨ÀýÈçÔÚ¶ÀÁ¢Ó¦ÓóÌÐò»ò·ÇWeb»·¾³ÖУ©£¬Ëü½«Ê¹ÓÃÆäÄÚÖõÄÆóÒµ»á»°¹ÜÀíÀ´ÌṩÏàͬµÄ±à³ÌÌåÑé¡£

SessionDAOµÄ´æÔÚÔÊÐíÈκÎÊý¾ÝÔ´¿ÉÓÃÓڳ־û¯»á»°¡£

- SessionDAO£¨org.apache.shiro.session.mgt.eis.SessionDAO£©

SessionDAO´ú±íSessionManagerÖ´ÐÐSessionµÄ³Ö¾ÃÐÔ£¨CRUD£©²Ù×÷¡£ ÕâÔÊÐíÈÎÒâÊý¾Ý´æ´¢±»²åÈëµ½»á»°¹ÜÀíµÄ»ù´¡ÉèÊ©ÖС£

»º´æ¹ÜÀíÆ÷£¨org.apache.shiro.cache.CacheManager£©

CacheManager´´½¨²¢¹ÜÀíÆäËûShiro×é¼þʹÓõÄCacheʵÀýÉúÃüÖÜÆÚ¡£ ÓÉÓÚShiro¿ÉÒÔ·ÃÎÊÐí¶àºó¶ËÊý¾ÝÔ´ÒÔ½øÐÐÉí·ÝÑéÖ¤¡¢ÊÚȨºÍ»á»°¹ÜÀí£¬Òò´Ë»º´æÒ»Ö±ÊÇ¿ò¼ÜÖÐÒ»µÈµÄ¼Ü¹¹ÌØÐÔ£¬¿ÉÔÚʹÓÃÕâЩÊý¾ÝԴʱÌá¸ßÐÔÄÜ¡£ÈκÎÏÖ´ú»¯µÄ¿ªÔ´ºÍ/»òÆóÒµ»º´æ²úÆ·¶¼¿ÉÒÔ²åÈëµ½ShiroÖУ¬ÒÔÌṩ¿ìËٺ͸ßЧµÄÓû§ÌåÑé¡£

ÃÜÂ루org.apache.shiro.crypto.*£©

ÃÜÂëCryptographyÊÇÆóÒµ°²È«¿ò¼ÜµÄ×ÔÈ»Ôö²¹¡£ShiroµÄ¼ÓÃÜÈí¼þ°ü°üº¬Ò×ÓÚʹÓúÍÒ×ÓÚÀí½âµÄÃÜÂë¡¢¹þÏ££¨ÓÖÃûÕªÒª£©ºÍ²»Í¬±à½âÂëÆ÷µÄʵÏÖ¡£±¾°üÖеÄËùÓÐÀ඼¾­¹ý¾«ÐÄÉè¼Æ£¬·Ç³£Ò×ÓÚʹÓÃÇÒÒ×ÓÚÀí½â¡£ ÈκÎʹÓÃJava±¾µØ¼ÓÃÜÖ§³ÖµÄÈ˶¼ÖªµÀ£¬Ñ±·þËü¿ÉÄÜÊÇÒ»¸öÌôÕ½ÐÔ¡£ ShiroµÄ¼ÓÃÜAPI¼ò»¯Á˸´ÔÓµÄJava»úÖÆ£¬Ê¹ÃÜÂëѧÒ×ÓÚ±»ÆÕͨÈËʹÓá£

ÁìÓò£¨org.apache.shiro.realm.Realm£©

ÈçÉÏËùÊö£¬Realm³äµ±ShiroºÍÓ¦ÓóÌÐò°²È«Êý¾ÝÖ®¼äµÄ"ÇÅÁº"»ò"Á¬½ÓÆ÷"¡£µ±ÐèҪʵ¼ÊÓëÓû§ÕÊ»§µÈ°²È«Ïà¹ØÊý¾Ý½øÐн»»¥ÒÔÖ´ÐÐÉí·ÝÑéÖ¤£¨µÇ¼£©ºÍÊÚȨ£¨·ÃÎÊ¿ØÖÆ£©Ê±£¬Shiro½«´ÓΪӦÓóÌÐòÅäÖõÄÒ»¸ö»ò¶à¸öÁìÓòÀ´²éÕÒÕâЩÄÚÈÝ¡£Äú¿ÉÒÔ¸ù¾ÝÐèÒªÅäÖþ¡¿ÉÄܶàµÄÁìÓò£¨Í¨³£Ã¿¸öÊý¾ÝÔ´Ò»¸ö£©£¬²¢ÇÒShiro½«¸ù¾ÝÐèÒªÓëÉí·ÝÑéÖ¤ºÍÊÚȨ½øÐÐЭµ÷¡£

¹Ø°²È«¹ÜÀíÆ÷(SecurityManager)ÐèÒªÖªµÀ£º

ÓÉÓÚShiroµÄAPI¹ÄÀøÒÔÖ÷ÌåΪÖÐÐĵıà³Ì·½·¨£¬Òò´Ë´ó¶àÊýÓ¦ÓóÌÐò¿ª·¢ÈËÔ±ºÜÉÙ»áÖ±½ÓÓëSecurityManager½øÐн»»¥£¨µ«ÊÇ¿ò¼Ü¿ª·¢ÈËÔ±ÓÐʱ¿ÉÄܻᷢÏÖËüºÜÓÐÓã©¡£ ¼´Ê¹Èç´Ë£¬Àí½âSecurityManagerµÄ¹¦ÄÜÈÔÈ»ºÜÖØÒª£¬ÓÈÆäÊÇΪӦÓÃÔõôÅäÖÃÒÔ¼°ÈçºÎÅäÖÃijһ¸ö¹¦ÄÜʱ¡£

3¡¢ShrioÉè¼Æ

ÈçÇ°ËùÊö£¬Ó¦ÓóÌÐòµÄSecurityManagerÖ´Ðа²È«²Ù×÷²¢ÎªËùÓÐÓ¦ÓóÌÐòÓû§¹ÜÀí״̬¡£ÔÚShiroµÄĬÈÏSecurityManagerʵÏÖÖУ¬°üÀ¨£º

Éí·ÝÈÏÖ¤£¨Authentication£©£»

ÊÚȨ£¨Authorization£©£»

»á»°¹ÜÀí£¨Session Management£©£»

»º´æ¹ÜÀí£¨Cache Management£©£»

ÁìÓòЭ×÷£¨Realm coordination£©£»

ʼþ´«²¥£¨Event propagation£©£»

"¼ÇסÎÒ"·þÎñ£¨¡°Remember Me¡± Services£©£»

Ö÷Ìå´´½¨£¨Subject creation£©£»

×¢ÏúµÈ£¨Logout and more£©¡£

ÊÇÕâÊÇÒ»¸öÊÔͼÔÚµ¥¸ö×é¼þÖйÜÀíºÜ¶à¹¦ÄܵÄ×é¼þ£¬¶øÇÒ£¬Èç¹ûËùÓж«Î÷¶¼¼¯Öе½Ò»¸öʵÏÖÀàÖУ¬ÒªÈÃÕâЩ¶«Î÷±äµÃÁé»îºÍ¿É¶¨Öƽ«·Ç³£À§ÄÑ¡£

ΪÁ˼ò»¯ÅäÖò¢ÊµÏÖÁé»îµÄÅäÖÃ/¿É²å°ÎÐÔ£¬ShiroµÄʵÏÖÔÚÉè¼ÆÖж¼ÊǸ߶ÈÄ£¿é»¯µÄ¡ª¡ªÊµ¼ÊÉϾÍÊÇÄ£¿é£¬¶øSecurityManagerʵÏÖÀࣨ¼°ÆäÀà²ã´Î½á¹¹£©Êµ¼ÊÉϲ¢Ã»ÓÐ×öºÜ¶à¡£Ïà·´£¬SecurityManagerʵÏÖÖ÷Òª×÷Ϊһ¸öÇáÁ¿¼¶µÄ"ÈÝÆ÷"×é¼þ£¬½«¼¸ºõËùÓÐÐÐΪ¶¼Î¯ÍиøǶÌ×/°ü×°×é¼þ¡£ Õâ¸ö'°ü×°'Éè¼Æ·´Ó³ÔÚÉÏÃæµÄÏêϸ¼Ü¹¹Í¼ÖС£

µ±×é¼þʵ¼ÊÖ´ÐÐÂß¼­Ê±£¬SecurityManagerʵÏÖÖªµÀÈçºÎÒÔ¼°ºÎʱЭµ÷×é¼þµÄÕýÈ·ÐÐΪ¡£

SecurityManagerµÄʵÏÖºÍÏà¹Ø×é¼þÒ²ÊÇJavaBeans¼æÈݵÄģʽ£¬ÕâÔÊÐíÄú£¨»òÓÉÅäÖûúÖÆ£©Í¨¹ý±ê×¼JavaBeans·ÃÎÊÆ÷/Ôö±äÆ÷£¨accessor/mutator£©·½·¨£¨¼´get*/set*·½·¨£©ÇáËɶ¨ÖƿɲåÈë×é¼þ¡£ ÕâÒâζ×ÅShiroµÄÄ£¿é»¯¼Ü¹¹¿ÉÒÔΪ¶¨ÖÆÐÐΪת»¯³É·Ç³£¼òµ¥µÄÅäÖã¬Ò²¾ÍÊǶ¨ÖÆÐÐΪÒ×ÓÚÅäÖá£

¹ØÓÚ¶¨ÖÆÐÐΪµÄÒ×ÅäÖÃÐÔ£¬ÐèÒªÖªµÀ£º

ÓÉÓÚÓëJavaBeans¼æÈÝÐÔ£¬Í¨¹ýÖ§³ÖJavaBeans·ç¸ñÅäÖõÄÈκλúÖÆ£¨ÀýÈçSpring£¬Guice£¬JBossµÈ£©£¬¿ÉÒÔºÜÈÝÒ×µØͨ¹ý×Ô¶¨Òå×é¼þÀ´ÅäÖÃSecurityManager¡£

ͨ¹ý±¾ÎÄ£¬ÏàÐÅÄÜÈ«ÃæµÄÀí½âShiroµÄ×ÜÌå¼Ü¹¹ºÍÏàÓ¦µÄÄ¿±ê¹¦Ó㬺óÐøÎÒÃǽ«¸ü½øÒ»²½µÄ½éÉÜShiroµÄÆäËüÏà¹ØÖ÷ÌâÄÚÈÝ¡£

   
2261 ´Îä¯ÀÀ       23
 
Ïà¹ØÎÄÕÂ

iOSÓ¦Óð²È«¿ª·¢£¬Äã²»ÖªµÀµÄÄÇЩÊÂÊõ
Web°²È«Ö®SQL×¢Èë¹¥»÷
Òƶ¯APP°²È«ÔÚÉø͸²âÊÔÖеÄÓ¦ÓÃ
´ÓGoogle±¸·Ý»¥ÁªÍø¿´¡°Êý¾Ý°²È«¡±
 
Ïà¹ØÎĵµ

web°²È«Éè¼ÆÓë·À»¤
»¥ÁªÍøº£Á¿ÄÚÈÝ°²È«´¦Àí¼¼Êõ
ºÚ¿Í¹¥»÷Óë·À·¶¼¼Êõ
WEBºÚºÐ°²È«¼ì²â
 
Ïà¹Ø¿Î³Ì

WEBÍøÕ¾ÓëÓ¦Óð²È«Ô­ÀíÓëʵ¼ù
webÓ¦Óð²È«¼Ü¹¹Éè¼Æ
´´½¨°²È«µÄJ2EE WebÓ¦ÓôúÂë
ÐÅÏ¢°²È«ÎÊÌâÓë·À·¶
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]
 
×îÐÂÎÄÕÂ
ÎïÁªÍø°²È«¸ÅÊö
Ê·ÉÏ×îÏêϸµÄÇø¿éÁ´¼¼Êõ¼Ü¹¹·ÖÎö
Ò»ÎĶÁ¶®Çø¿éÁ´ÕûÌå¼Ü¹¹¼°Ó¦Óð¸Àý
Çø¿éÁ´¼¼Êõ¼Ü¹¹
°²È«¼Ü¹¹ÆÀÉóʵս
×îпγÌ
WebÓ¦Óð²È«¼Ü¹¹¡¢ÈëÇÖ¼ì²âÓë·À»¤
ÎïÁªÍø¹Ø¼ü¼¼Êõ¡¢°²È«Óë±ßÔµ¼ÆËã
Çø¿éÁ´°²È«¼¼Êõʵ¼ùÖ¸ÄÏ
ÔÆ·þÎñÓ밲ȫ¼Ü¹¹
»¥ÁªÍø°²È«¿ª·¢·½·¨Óëʵ¼ù
³É¹¦°¸Àý
ÖйúÒøÐÐ ÐÅÏ¢°²È«¼¼Êõ¼°Éî¶È·ÀÓù
±±¾© WebÓ¦Óð²È«¼Ü¹¹¡¢ÈëÇÖ¼ì²âÓë·À»¤
ij²ÆË°ÁìÓòÖªÃûIT·þÎñÉÌ Web°²È«²âÊÔ
ÆÕÈð¿Ë˹ web°²È«Éè¼Æ¡¢²âÊÔÓëÓÅ»¯
±±¾©ºÍÀûʱ ÐÔÄܺͰ²È«ÐÔ²âÊÔ