±à¼ÍƼö: |
±¾ÎĽéÉÜÁË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µÄÆäËüÏà¹ØÖ÷ÌâÄÚÈÝ¡£
|