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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
CASʵÏÖSSOµ¥µãµÇ¼ԭÀí
 
×÷ÕߣºgameWYD À´Ô´£ºCSDN ·¢²¼ÓÚ£º2016-1-21
  4818  次浏览      19
 

1. CAS ¼ò½é

1.1. What is CAS £¿

CAS £¨ Central Authentication Service £© ÊÇ Yale ´óѧ·¢ÆðµÄÒ»¸öÆóÒµ¼¶µÄ¡¢¿ªÔ´µÄÏîÄ¿£¬Ö¼ÔÚΪ Web Ó¦ÓÃϵͳÌṩһÖÖ¿É¿¿µÄµ¥µãµÇ¼½â¾ö·½·¨£¨ÊôÓÚ Web SSO £©¡£

CAS ¿ªÊ¼ÓÚ 2001 Ä꣬ ²¢ÔÚ 2004 Äê 12 ÔÂÕýʽ³ÉΪ JA-SIG µÄÒ»¸öÏîÄ¿¡£

1.2. Ö÷ÒªÌØÐÔ

1¡¢ ¿ªÔ´µÄ¡¢¶àЭÒéµÄ SSO ½â¾ö·½°¸£» Protocols £º Custom Protocol ¡¢ CAS ¡¢ OAuth ¡¢ OpenID ¡¢ RESTful API ¡¢ SAML1.1 ¡¢ SAML2.0 µÈ¡£

2¡¢ Ö§³Ö¶àÖÖÈÏÖ¤»úÖÆ£º Active Directory ¡¢ JAAS ¡¢ JDBC ¡¢ LDAP ¡¢ X.509 Certificates µÈ£»

3¡¢ °²È«²ßÂÔ£ºÊ¹ÓÃƱ¾Ý£¨ Ticket £©À´ÊµÏÖÖ§³ÖµÄÈÏ֤ЭÒ飻

4¡¢ Ö§³ÖÊÚȨ£º¿ÉÒÔ¾ö¶¨ÄÄЩ·þÎñ¿ÉÒÔÇëÇóºÍÑéÖ¤·þÎñƱ¾Ý£¨ Service Ticket £©£»

5¡¢ Ìṩ¸ß¿ÉÓÃÐÔ£ºÍ¨¹ý°ÑÈÏÖ¤¹ýµÄ״̬Êý¾Ý´æ´¢ÔÚ TicketRegistry ×é¼þÖУ¬ÕâЩ×é¼þÓкܶàÖ§³Ö·Ö²¼Ê½»·¾³µÄʵÏÖ£¬È磺 BerkleyDB ¡¢ Default ¡¢ EhcacheTicketRegistry ¡¢ JDBCTicketRegistry ¡¢ JBOSS TreeCache ¡¢ JpaTicketRegistry ¡¢ MemcacheTicketRegistry µÈ£»

6¡¢ Ö§³Ö¶àÖÖ¿Í»§¶Ë£º Java ¡¢ .Net ¡¢ PHP ¡¢ Perl ¡¢ Apache, uPortal µÈ¡£

2. SSO µ¥µãµÇ¼ԭÀí

±¾ÎÄÄÚÈÝÖ÷ÒªÕë¶Ô Web SSO ¡£

2.1. ʲôÊÇSSO

µ¥µãµÇ¼£¨ Single Sign-On , ¼ò³Æ SSO £©ÊÇÄ¿Ç°±È½ÏÁ÷ÐеķþÎñÓÚÆóÒµÒµÎñÕûºÏµÄ½â¾ö·½°¸Ö®Ò»£¬ SSO ʹµÃÔÚ¶à¸öÓ¦ÓÃϵͳÖУ¬Óû§Ö»ÐèÒª µÇ¼һ´Î ¾Í¿ÉÒÔ·ÃÎÊËùÓÐÏ໥ÐÅÈεÄÓ¦ÓÃϵͳ¡£

2.2. SSO Ô­Àí

2.2.1. SSO ÌåϵÖеĽÇÉ«

Ò»°ã SSO ÌåϵÖ÷Òª½ÇÉ«ÓÐÈýÖÖ£º

1¡¢ User £¨¶à¸ö£©

2¡¢ Web Ó¦Ó㨶à¸ö£©

3¡¢ SSO ÈÏÖ¤ÖÐÐÄ£¨ 1 ¸ö £©

2.2.2. SSO ʵÏÖģʽµÄÔ­Ôò

SSO ʵÏÖģʽһ°ã°üÀ¨ÒÔÏÂÈý¸öÔ­Ôò£º

1¡¢ ËùÓеÄÈÏÖ¤µÇ¼¶¼ÔÚ SSO ÈÏÖ¤ÖÐÐĽøÐУ»

2¡¢ SSO ÈÏÖ¤ÖÐÐÄͨ¹ýһЩ·½·¨À´¸æËß Web Ó¦Óõ±Ç°·ÃÎÊÓû§¾¿¾¹ÊDz»ÊÇÒÑͨ¹ýÈÏÖ¤µÄÓû§£»

3¡¢ SSO ÈÏÖ¤ÖÐÐĺÍËùÓÐµÄ Web Ó¦Óý¨Á¢Ò»ÖÖÐÅÈιØϵ£¬Ò²¾ÍÊÇ˵ web Ó¦ÓñØÐëÐÅÈÎÈÏÖ¤ÖÐÐÄ¡££¨µ¥µãÐÅÈΣ©

2.2.3. SSO Ö÷ҪʵÏÖ·½Ê½

SSO µÄÖ÷ҪʵÏÖ·½Ê½ÓУº

1¡¢ ¹²Ïí cookies

»ùÓÚ¹²ÏíͬÓòµÄ cookie ÊÇ Web ¸Õ¿ªÊ¼½×¶ÎʱʹÓõÄÒ»ÖÖ·½Ê½£¬ËüÀûÓÃä¯ÀÀͬÓòÃûÖ®¼ä×Ô¶¯´«µÝ cookies »úÖÆ£¬ÊµÏÖÁ½¸öÓòÃûÖ®¼äϵͳÁîÅÆ´«µÝÎÊÌ⣻ÁíÍ⣬¹ØÓÚ¿çÓòÎÊÌ⣬ËäÈ» cookies±¾Éí²»¿çÓò£¬µ«¿ÉÒÔÀûÓÃËüʵÏÖ¿çÓòµÄ SSO ¡£È磺´úÀí¡¢±©Â¶ SSO ÁîÅÆÖµµÈ¡£

ȱµã£º²»Áé»î¶øÇÒÓв»ÉÙ°²È«Òþ»¼£¬ÒѾ­±»Å×Æú¡£

2¡¢ Broker-based( »ùÓÚ¾­¼ÍÈË )

ÕâÖÖ¼¼ÊõµÄÌصã¾ÍÊÇ£¬ÓÐÒ»¸ö¼¯ÖеÄÈÏÖ¤ºÍÓû§ÕʺŹÜÀíµÄ·þÎñÆ÷¡£¾­¼ÍÈ˸ø±»ÓÃÓÚ½øÒ»²½ÇëÇóµÄµç×ÓÉí·Ý´æÈ¡¡£ÖÐÑëÊý¾Ý¿âµÄʹÓüõÉÙÁ˹ÜÀíµÄ´ú¼Û£¬²¢ÎªÈÏÖ¤Ìṩһ¸ö¹«¹²ºÍ¶ÀÁ¢µÄ "µÚÈý·½ " ¡£ÀýÈç Kerberos ¡¢ Sesame ¡¢ IBM KryptoKnight £¨Æ¾Ö¤¿â˼Ïë ) µÈ¡£ KerberosÊÇÓÉÂéÊ¡Àí¹¤´óѧ·¢Ã÷µÄ°²È«ÈÏÖ¤·þÎñ£¬ÒѾ­±» UNIX ºÍ Windows ×÷ΪĬÈϵݲȫÈÏÖ¤·þÎñ¼¯³É½ø²Ù×÷ϵͳ¡£

3¡¢ Agent-based £¨»ùÓÚ´úÀíÈË£©

ÔÚÕâÖÖ½â¾ö·½°¸ÖУ¬ÓÐÒ»¸ö×Ô¶¯µØΪ²»Í¬µÄÓ¦ÓóÌÐòÈÏÖ¤Óû§Éí·ÝµÄ´úÀí³ÌÐò¡£Õâ¸ö´úÀí³ÌÐòÐèÒªÉè¼ÆÓв»Í¬µÄ¹¦ÄÜ¡£±ÈÈ磬Ëü¿ÉÒÔʹÓÿÚÁî±í»ò¼ÓÃÜÃÜÔ¿À´×Ô¶¯µØ½«ÈÏÖ¤µÄ¸ºµ£´ÓÓû§ÒÆ¿ª¡£´úÀíÈ˱»·ÅÔÚ·þÎñÆ÷ÉÏÃ棬ÔÚ·þÎñÆ÷µÄÈÏ֤ϵͳºÍ¿Í»§¶ËÈÏÖ¤·½·¨Ö®¼ä³äµ±Ò»¸ö " ·­Òë "¡£ÀýÈç SSH µÈ¡£

4¡¢ Token-based

ÀýÈç SecureID,WebID £¬ÏÖÔÚ±»¹ã·ºÊ¹ÓõĿÚÁîÈÏÖ¤£¬±ÈÈç FTP ¡¢Óʼþ·þÎñÆ÷µÄµÇ¼ÈÏÖ¤£¬ÕâÊÇÒ»ÖÖ¼òµ¥Ò×Óõķ½Ê½£¬ÊµÏÖÒ»¸ö¿ÚÁîÔÚ¶àÖÖÓ¦Óõ±ÖÐʹÓá£

5¡¢ »ùÓÚÍø¹Ø

6¡¢ »ùÓÚ SAML

SAML(Security Assertion Markup Language £¬°²È«¶ÏÑÔ±ê¼ÇÓïÑÔ£©µÄ³öÏÖ´ó´ó¼ò»¯ÁË SSO £¬²¢±» OASIS Åú׼Ϊ SSO µÄÖ´Ðбê×¼ ¡£¿ªÔ´×éÖ¯ OpenSAML ʵÏÖÁË SAML ¹æ·¶¡£

3. CAS µÄ»ù±¾Ô­Àí

3.1. ½á¹¹Ìåϵ

´Ó½á¹¹Ìåϵ¿´£¬ CAS °üÀ¨Á½²¿·Ö£º CAS Server ºÍ CAS Client ¡£

3.1.1. CAS Server

CAS Server ¸ºÔðÍê³É¶ÔÓû§µÄÈÏÖ¤¹¤×÷ , ÐèÒª¶ÀÁ¢²¿Êð , CAS Server »á´¦ÀíÓû§Ãû / ÃÜÂëµÈƾ֤(Credentials) ¡£

3.1.2. CAS Client

¸ºÔð´¦Àí¶Ô¿Í»§¶ËÊܱ£»¤×ÊÔ´µÄ·ÃÎÊÇëÇó£¬ÐèÒª¶ÔÇëÇó·½½øÐÐÉí·ÝÈÏ֤ʱ£¬Öض¨Ïòµ½ CAS Server ½øÐÐÈÏÖ¤¡££¨Ô­ÔòÉÏ£¬¿Í»§¶ËÓ¦Óò»ÔÙ½ÓÊÜÈκεÄÓû§ÃûÃÜÂëµÈ Credentials £©¡£

CAS Client ÓëÊܱ£»¤µÄ¿Í»§¶ËÓ¦Óò¿ÊðÔÚÒ»Æð£¬ÒÔ Filter ·½Ê½±£»¤Êܱ£»¤µÄ×ÊÔ´¡£

3.2. CAS Ô­ÀíºÍЭÒé

3.2.1. »ù´¡Ä£Ê½

»ù´¡Ä£Ê½ SSO ·ÃÎÊÁ÷³ÌÖ÷ÒªÓÐÒÔϲ½Ö裺

1. ·ÃÎÊ·þÎñ£º SSO ¿Í»§¶Ë·¢ËÍÇëÇó·ÃÎÊÓ¦ÓÃϵͳÌṩµÄ·þÎñ×ÊÔ´¡£

2. ¶¨ÏòÈÏÖ¤£º SSO ¿Í»§¶Ë»áÖض¨ÏòÓû§ÇëÇóµ½ SSO ·þÎñÆ÷¡£

3. Óû§ÈÏÖ¤£ºÓû§Éí·ÝÈÏÖ¤¡£

4. ·¢·ÅƱ¾Ý£º SSO ·þÎñÆ÷»á²úÉúÒ»¸öËæ»úµÄ Service Ticket ¡£

5. Ñé֤Ʊ¾Ý£º SSO ·þÎñÆ÷Ñé֤Ʊ¾Ý Service Ticket µÄºÏ·¨ÐÔ£¬Ñé֤ͨ¹ýºó£¬ÔÊÐí¿Í»§¶Ë·ÃÎÊ·þÎñ¡£

6. ´«ÊäÓû§ÐÅÏ¢£º SSO ·þÎñÆ÷Ñé֤Ʊ¾Ýͨ¹ýºó£¬´«ÊäÓû§ÈÏÖ¤½á¹ûÐÅÏ¢¸ø¿Í»§¶Ë¡£

ÏÂÃæÊÇ CAS ×î»ù±¾µÄЭÒé¹ý³Ì£º

cas»ù´¡Ð­Òéͼ

»ù´¡Ð­Òéͼ

ÈçÉÏͼ£º CAS Client ÓëÊܱ£»¤µÄ¿Í»§¶ËÓ¦Óò¿ÊðÔÚÒ»Æð£¬ÒÔ Filter ·½Ê½±£»¤ Web Ó¦ÓõÄÊܱ£»¤×ÊÔ´£¬¹ýÂË´Ó¿Í»§¶Ë¹ýÀ´µÄÿһ¸ö Web ÇëÇó£¬Í¬Ê±£¬ CAS Client »á·ÖÎö HTTP ÇëÇóÖÐÊÇ·ñ°üº¬ÇëÇó Service Ticket( ST ÉÏͼÖÐµÄ Ticket) £¬Èç¹ûûÓУ¬Ôò˵Ã÷¸ÃÓû§ÊÇûÓо­¹ýÈÏÖ¤µÄ£»ÓÚÊÇ CAS Client »áÖض¨ÏòÓû§ÇëÇóµ½ CAS Server £¨ Step 2 £©£¬²¢´«µÝ Service £¨Òª·ÃÎʵÄÄ¿µÄ×ÊÔ´µØÖ·£©¡£ Step 3 ÊÇÓû§ÈÏÖ¤¹ý³Ì£¬Èç¹ûÓû§ÌṩÁËÕýÈ·µÄ Credentials £¬ CAS Server Ëæ»ú²úÉúÒ»¸öÏ൱³¤¶È¡¢Î¨Ò»¡¢²»¿ÉαÔìµÄ Service Ticket £¬²¢»º´æÒÔ´ý½«À´ÑéÖ¤£¬²¢ÇÒÖض¨ÏòÓû§µ½ Service ËùÔÚµØÖ·£¨¸½´ø¸Õ²Å²úÉúµÄ Service Ticket £© , ²¢Îª¿Í»§¶Ëä¯ÀÀÆ÷ÉèÖÃÒ»¸ö Ticket Granted Cookie £¨ TGC £© £» CAS Client ÔÚÄõ½ Service ºÍвúÉúµÄ Ticket ¹ýºó£¬ÔÚ Step 5 ºÍ Step6 ÖÐÓë CAS Server ½øÐÐÉí·ÝºËʵ£¬ÒÔÈ·±£ Service Ticket µÄºÏ·¨ÐÔ¡£

ÔÚ¸ÃЭÒéÖУ¬ËùÓÐÓë CAS Server µÄ½»»¥¾ù²ÉÓà SSL ЭÒ飬ÒÔÈ·±£ ST ºÍ TGC µÄ°²È«ÐÔ¡£Ð­Ò鹤×÷¹ý³ÌÖлáÓÐ 2 ´ÎÖض¨Ïò µÄ¹ý³Ì¡£µ«ÊÇ CAS Client Óë CAS Server Ö®¼ä½øÐÐ Ticket ÑéÖ¤µÄ¹ý³Ì¶ÔÓÚÓû§ÊÇ͸Ã÷µÄ£¨Ê¹Óà HttpsURLConnection £©¡£

CAS ÇëÇóÈÏ֤ʱÐòͼÈçÏ£º

casÈÏ֤ʱÐòͼ

3.2.1. CAS ÈçºÎʵÏÖ SSO

µ±Óû§·ÃÎÊÁíÒ»¸öÓ¦ÓõķþÎñÔٴα»Öض¨Ïòµ½ CAS Server µÄʱºò£¬ CAS Server »áÖ÷¶¯»ñµ½Õâ¸ö TGC cookie £¬È»ºó×öÏÂÃæµÄÊÂÇ飺

1) Èç¹û User ³ÖÓÐ TGC ÇÒÆ仹ûʧЧ£¬ÄÇô¾Í×ß»ù´¡Ð­ÒéͼµÄ Step4 £¬´ïµ½ÁË SSO µÄЧ¹û£»

2) Èç¹û TGC ʧЧ£¬ÄÇôÓû§»¹ÊÇÒªÖØÐÂÈÏÖ¤ ( ×ß»ù´¡Ð­ÒéͼµÄ Step3) ¡£

3.2.2. CAS ´úÀíģʽ

¸ÃģʽÐÎʽΪÓû§·ÃÎÊ App1 £¬ App1 ÓÖÒÀÀµÓÚ App2 À´»ñȡһЩÐÅÏ¢£¬È磺 User -->App1 -->App2¡£

ÕâÖÖÇé¿öÏ£¬¼ÙÉè App2 Ò²ÊÇÐèÒª¶Ô User ½øÐÐÉí·ÝÑéÖ¤²ÅÄÜ·ÃÎÊ£¬ÄÇô£¬ÎªÁ˲»Ó°ÏìÓû§ÌåÑ飨¹ý¶àµÄÖض¨Ïòµ¼Ö User µÄ IE ´°¿Ú²»Í£µØÉÁ¶¯ ) £¬ CAS ÒýÈëÁËÒ»ÖÖ Proxy ÈÏÖ¤»úÖÆ£¬¼´ CAS Client ¿ÉÒÔ´úÀíÓû§È¥·ÃÎÊÆäËü Web Ó¦Óá£

´úÀíµÄÇ°ÌáÊÇÐèÒª CAS Client ÓµÓÐÓû§µÄÉí·ÝÐÅÏ¢ ( ÀàËÆƾ¾Ý ) ¡£Ö®Ç°ÎÒÃÇÌáµ½µÄ TGC ÊÇÓû§³ÖÓжÔ×Ô¼ºÉí·ÝÐÅÏ¢µÄÒ»ÖÖƾ¾Ý£¬ÕâÀïµÄ PGT ¾ÍÊÇ CAS Client ¶Ë³ÖÓеĶÔÓû§Éí·ÝÐÅÏ¢µÄÒ»ÖÖƾ¾Ý¡£Æ¾½èTGC £¬ User ¿ÉÒÔÃâÈ¥ÊäÈëÃÜÂëÒÔ»ñÈ¡·ÃÎÊÆäËü·þÎñµÄ Service Ticket £¬ËùÒÔ£¬ÕâÀïƾ½è PGT £¬ WebÓ¦ÓÿÉÒÔ´úÀíÓû§È¥ÊµÏÖºó¶ËµÄÈÏÖ¤£¬¶ø ÎÞÐèÇ°¶ËÓû§µÄ²ÎÓë ¡£

ÏÂÃæΪ´úÀíÓ¦Ó㨠helloService £©»ñÈ¡ PGT µÄ¹ý³Ì£º £¨×¢£º PGTURL ÓÃÓÚ±íʾһ¸ö Proxy ·þÎñ£¬ÊÇÒ»¸ö»Øµ÷Á´½Ó£» PGT Ï൱ÓÚ´úÀíÖ¤£» PGTIOU Ϊȡ´úÀíÖ¤µÄÔ¿³×£¬ÓÃÀ´Óë PGT ×ö¹ØÁª¹Øϵ£»£©

cas´úÀíPGT»ñÈ¡

ÈçÉÏÃæµÄ CAS Proxy ͼËùʾ£¬ CAS Client ÔÚ»ù´¡Ð­ÒéÖ®ÉÏ£¬ÔÚÑéÖ¤ ST ʱÌṩÁËÒ»¸ö¶îÍâµÄPGT URL( ¶øÇÒÊÇ SSL µÄÈë¿Ú ) ¸ø CAS Server £¬Ê¹µÃ CAS Server ¿ÉÒÔͨ¹ý PGT URL Ìṩһ¸ö PGT ¸ø CAS Client ¡£

CAS Client Äõ½ÁË PGT(PGTIOU-85 ¡­ ..ti2td) £¬¾Í¿ÉÒÔͨ¹ý PGT Ïòºó¶Ë Web Ó¦ÓýøÐÐÈÏÖ¤¡£

ÏÂÃæÊÇ´úÀíÈÏÖ¤ºÍÌṩ·þÎñµÄ¹ý³Ì£º

ÈçÉÏͼËùʾ£¬ Proxy ÈÏÖ¤ÓëÆÕͨµÄÈÏÖ¤Æäʵ²î±ð²»´ó£¬ Step1 £¬ 2 Óë»ù´¡Ä£Ê½µÄ Step1,2 ¼¸ºõÒ»Ñù£¬Î¨Ò»²»Í¬µÄÊÇ£¬ Proxy ģʽÓõÄÊÇ PGT ¶ø²»ÊÇ TGC £¬ÊÇ Proxy Ticket £¨ PT £©¶ø²»ÊÇ Service Ticket ¡£

3.2.3. ¸¨Öú˵Ã÷

CAS µÄ SSO ʵÏÖ·½Ê½¿É¼ò»¯Àí½âΪ£º 1 ¸ö Cookie ºÍ N ¸ö Session ¡£ CAS Server ´´½¨ cookie£¬ÔÚËùÓÐÓ¦ÓÃÈÏ֤ʱʹÓ㬸÷Ó¦ÓÃͨ¹ý´´½¨¸÷×﵀ Session À´±êʶÓû§ÊÇ·ñÒѵǼ¡£

Óû§ÔÚÒ»¸öÓ¦ÓÃÑé֤ͨ¹ýºó£¬ÒÔºóÓû§ÔÚͬһä¯ÀÀÆ÷Àï·ÃÎÊ´ËÓ¦ÓÃʱ£¬¿Í»§¶ËÓ¦ÓÃÖеĹýÂËÆ÷»áÔÚ session Àï¶ÁÈ¡µ½Óû§ÐÅÏ¢£¬ËùÒԾͲ»»áÈ¥ CAS Server ÈÏÖ¤¡£Èç¹ûÔÚ´Ëä¯ÀÀÆ÷Àï·ÃÎʱðµÄ web Ó¦ÓÃʱ£¬¿Í»§¶ËÓ¦ÓÃÖеĹýÂËÆ÷ÔÚ session Àï¶ÁÈ¡²»µ½Óû§ÐÅÏ¢£¬¾Í»áÈ¥ CAS Server µÄ login ½Ó¿ÚÈÏÖ¤£¬µ«ÕâʱCAS Server »á¶ÁÈ¡µ½ä¯ÀÀÆ÷´«À´µÄ cookie £¨ TGC £©£¬ËùÒÔ CAS Server ²»»áÒªÇóÓû§È¥µÇ¼ҳÃæµÇ¼£¬Ö»ÊÇ»á¸ù¾Ý service ²ÎÊýÉú³ÉÒ»¸ö Ticket £¬È»ºóÔÙºÍ web Ó¦ÓÃ×öÒ»¸öÑéÖ¤ ticket µÄ½»»¥¶øÒÑ¡£

3.3. ÊõÓï½âÊÍ

CAS ϵͳÖÐÉè¼ÆÁË 5 ÖÐƱ¾Ý£º TGC ¡¢ ST ¡¢ PGT ¡¢ PGTIOU ¡¢ PT ¡£

Ticket-granting cookie(TGC) £º´æ·ÅÓû§Éí·ÝÈÏ֤ƾ֤µÄ cookie £¬ÔÚä¯ÀÀÆ÷ºÍ CAS Server ¼äͨѶʱʹÓ㬲¢ÇÒÖ»ÄÜ»ùÓÚ°²È«Í¨µÀ´«Ê䣨 Https £©£¬ÊÇ CAS Server ÓÃÀ´Ã÷È·Óû§Éí·ÝµÄƾ֤£»

Service ticket(ST) £º·þÎñƱ¾Ý£¬·þÎñµÄΩһ±êʶÂë , ÓÉ CAS Server ·¢³ö£¨ Http ´«ËÍ£©£¬Í¨¹ý¿Í»§¶Ëä¯ÀÀÆ÷µ½´ïÒµÎñ·þÎñÆ÷¶Ë£»Ò»¸öÌض¨µÄ·þÎñÖ»ÄÜÓÐÒ»¸öΩһµÄ ST £»

Proxy-Granting ticket £¨ PGT £©£ºÓÉ CAS Server °ä·¢¸øÓµÓÐ ST ƾ֤µÄ·þÎñ£¬ PGT °ó¶¨Ò»¸öÓû§µÄÌض¨·þÎñ£¬Ê¹ÆäÓµÓÐÏò CAS Server ÉêÇ룬»ñµÃ PT µÄÄÜÁ¦£»

Proxy-Granting Ticket I Owe You £¨ PGTIOU £© : ×÷ÓÃÊǽ«Í¨¹ýƾ֤УÑéʱµÄÓ¦´ðÐÅÏ¢ÓÉ CAS Server ·µ»Ø¸ø CAS Client £¬Í¬Ê±£¬Óë¸Ã PGTIOU ¶ÔÓ¦µÄ PGT ½«Í¨¹ý»Øµ÷Á´½Ó´«¸ø Web Ó¦ÓᣠWeb Ó¦ÓøºÔðά»¤ PGTIOU Óë PGT Ö®¼äÓ³Éä¹ØϵµÄÄÚÈÝ±í£»

Proxy Ticket (PT) £ºÊÇÓ¦ÓóÌÐò´úÀíÓû§Éí·Ý¶ÔÄ¿±ê³ÌÐò½øÐзÃÎʵÄƾ֤£»

ÆäËü˵Ã÷ÈçÏ£º

Ticket Granting ticket(TGT) £ºÆ±¾ÝÊÚȨƱ¾Ý£¬ÓÉ KDC µÄ AS ·¢·Å¡£¼´»ñÈ¡ÕâÑùÒ»ÕÅƱ¾Ýºó£¬ÒÔºóÉêÇë¸÷ÖÖÆäËû·þÎñƱ¾Ý (ST) ±ã²»±ØÔÙÏò KDC Ìá½»Éí·ÝÈÏÖ¤ÐÅÏ¢ (Credentials) £»

Authentication service(AS) --------- ÈÏÖ¤Ó÷þÎñ£¬Ë÷È¡ Credentials £¬·¢·Å TGT £»

Ticket-granting service (TGS) --------- Ʊ¾ÝÊÚȨ·þÎñ£¬Ë÷È¡ TGT £¬·¢·Å ST £»

KDC( Key Distribution Center ) ---------- ÃÜÔ¿·¢·ÅÖÐÐÄ£»

4. CAS °²È«ÐÔ

CAS µÄ°²È«ÐÔ½ö½öÒÀÀµÓÚ SSL ¡£Ê¹ÓõÄÊÇ secure cookie ¡£

4.1. TGC/PGT °²È«ÐÔ

¶ÔÓÚÒ»¸ö CAS Óû§À´Ëµ£¬×îÖØÒªÊÇÒª±£»¤ËüµÄ TGC £¬Èç¹û TGC ²»É÷±» CAS Server ÒÔÍâµÄʵÌå»ñµÃ£¬ Hacker Äܹ»ÕÒµ½¸Ã TGC £¬È»ºóð³ä CAS Óû§·ÃÎÊ ËùÓÐ ÊÚȨ×ÊÔ´¡£ PGT µÄ½ÇÉ«¸ú TGC ÊÇÒ»ÑùµÄ¡£

´Ó»ù´¡Ä£Ê½¿ÉÒÔ¿´³ö£¬ TGC ÊÇ CAS Server ͨ¹ý SSL ·½Ê½·¢Ë͸øÖÕ¶ËÓû§£¬Òò´Ë£¬Òª½ØÈ¡ TGC ÄѶȷdz£´ó£¬´Ó¶øÈ·±£ CAS µÄ°²È«ÐÔ¡£

TGT µÄ´æ»îÖÜÆÚĬÈÏΪ 120 ·ÖÖÓ¡£

4.2. ST/PT °²È«ÐÔ

ST £¨ Service Ticket £©ÊÇͨ¹ý Http ´«Ë͵ģ¬Òò´ËÍøÂçÖеÄÆäËûÈË¿ÉÒÔ Sniffer µ½ÆäËûÈ赀 Ticket ¡£ CAS ͨ¹ýÒÔϼ¸·½ÃæÀ´Ê¹ ST ±äµÃ¸ü¼Ó°²È«£¨ÊÂʵÉ϶¼ÊÇ¿ÉÒÔÅäÖõģ©£º

1¡¢ ST Ö»ÄÜʹÓÃÒ»´Î

CAS ЭÒé¹æ¶¨£¬ÎÞÂÛ Service Ticket ÑéÖ¤ÊÇ·ñ³É¹¦£¬ CAS Server ¶¼»áÇå³ý·þÎñ¶Ë»º´æÖеĸÃTicket £¬´Ó¶ø¿ÉÒÔÈ·±£Ò»¸ö Service Ticket ²»±»Ê¹ÓÃÁ½´Î¡£

2¡¢ ST ÔÚÒ»¶Îʱ¼äÄÚʧЧ

CAS ¹æ¶¨ ST Ö»ÄÜ´æ»îÒ»¶¨µÄʱ¼ä£¬È»ºó CAS Server »áÈÃËüʧЧ¡£Ä¬ÈÏÓÐЧʱ¼äΪ 5 ·ÖÖÓ¡£

3¡¢ ST ÊÇ»ùÓÚËæ»úÊýÉú³ÉµÄ

ST ±ØÐë×ã¹»Ëæ»ú£¬Èç¹û ST Éú³É¹æÔò±»²Â³ö£¬ Hacker ¾ÍµÈÓÚÈƹý CAS ÈÏÖ¤£¬Ö±½Ó·ÃÎÊ ¶ÔÓ¦µÄ·þÎñ¡£

   
4818 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂäµØ
Ïà¹Ø¿Î³Ì

ÔÆƽ̨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þ
ÈËÈËÍøÒƶ¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS

ÃæÏòÓ¦Óõļܹ¹Éè¼Æʵ¼ù
µ¥Ôª²âÊÔ+Öع¹+Éè¼Æģʽ
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù

Èñ°²¿Æ¼¼ Èí¼þ¼Ü¹¹Éè¼Æ·½·¨
³É¶¼ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£Æû³µ ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
±±¾© Èí¼þ¼Ü¹¹Éè¼Æ
ÉϺ£ Èí¼þ¼Ü¹¹Éè¼Æ°¸ÀýÓëʵ¼ù
±±¾© ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ÉîÛÚ ¼Ü¹¹Éè¼Æ·½·¨°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù