Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SSO system structure and Show case in Japan. 

SSO system structure and Show case in Japan. 

Talk of Plone Conference 2017 Barcelona. #ploneconf2017

0dbafc17e04503dfef253274853b2c8a?s=128

Manabu TERADA

October 18, 2017
Tweet

Transcript

  1. CMS communications Inc.  440TZTUFNTUSVDUVSF BOE 4IPXDBTFJO+BQBO .BOBCV5&3"%"  1MPOF$POGFSFODF

    #BSDFMPOB גࣜձࣾCMSίϛϡχέʔγϣϯζ
  2. !UFSBQZPO 0XOFSBOE$&0PG$.4DPNNVOJDBUJPOT*OD #PBSE$IBJSPG1Z$PO+1 +BQBO  1MPOF'PVOEBUJPO"NCBTTBEPS .FNCFSPG/7%"+BQBOFTF5FBN 0SHBOJ[FSPG+BQBO0QFOFE9VTFSHSPVQ "CPVUNF גࣜձࣾCMSίϛϡχέʔγϣϯζ

    .BOBCV5&3"%"  ࣉాɹֶ
  3. "CPVUPVSDPNQBOZ גࣜձࣾCMSίϛϡχέʔγϣϯζ 0VSDPNQBOZJT$.4DPNCBTFEJO5PLZP +BQBO 8FVTF1MPOFGPSCVJMEJOHXFCTJUFT 6OJWFSTJUJFT 1VCMJDJOTUJUVUJPOT &OHJOFFSJOHDPNQBOJFT 4VQQPSUJOHFEVDBUJPOUPPMT $.4DPN

    
  4. גࣜձࣾCMSίϛϡχέʔγϣϯζ    "CPVU440 $POUFOUTPGUIJTTFTTJPO *OUSPEVDFUP440UZQFT 5ZQFTPG440 *OUSPEVDFUPQSPEVDUT 1MPOF

    440BOE1"4  %&.0    *OUSPEVDFUP1MPOFTZTUFNTBOE1ZSBNJEJOUFHSBUJPO 1SPUPDPM4FRVFODF "WBJMBCJMJUZNBUSJY
  5. גࣜձࣾCMSίϛϡχέʔγϣϯζ  "CPVU440  $.4 1MPOF

  6. "CPVU440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4JOHMF4JHO0O "VTFSMPHHFEJOUPPOFTJUFDBOBDDFTTNVMUJQMFTJUFTXJUIPVU OFFEJOHUPJOQVUMPHJOJOGPSNBUJPOBHBJO 8IBUJT440 

  7. "CPVU440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 440WT-%"1  1MPOF 440  -PHJO  $POUFOU

     3FRVFTU  3FEJSFDU -%"1 6TFS%BUB 1MPOF  0UIFSTJUFSFRVFTU  $POUFOU "MSFBEZMPHHFEJO 1MPOF 1MPOF 6TFS%BUB  -PHJO  $POUFOU  $POUFOU  3FRVFTU  -PHJOBHBJO  0UIFSTJUFSFRVFTU
  8. גࣜձࣾCMSίϛϡχέʔγϣϯζ 5ZQFTPG440 4IJCCPMFUI $"4 $"4JOHMF4JHO0O 4JUF.JOEFS   $.4 1MPOF

  9. 5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4IJCCPMFUIJTPOFPGUIFGBNPVT440TZTUFNTJO6OJWFSTJUJFT 6TJOH"QBDIFTQFDJpDNPEVMF "QBDIFEPFTO`UOFFEUPDPOOFDUUP440*E1TFSWFS #VU *UOFFEUPJOTUBMMBTBNFDFSUJpDBUF 1MPOFXJMMHFUVTFSJOGPSNBUJPOGSPNUIF)551IFBEFS 4IJCCPMFUI 

  10. 5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTJTBDPNNFSDJBMQSPEVDU 6TJOH"QBDIFTQFDJpDNPEVMF TBNFBT4IJCCPMFUI #VU UIJTTZTUFNOFFETUPDPOOFDUGSPN"QBDIFUP*E1TFSWFS 1MPOFXJMMHFUVTFSJOGPSNBUJPOGSPNUIF)551IFBEFS TBNFBT4IJCCPMFUI $"4JOHMF4JHO0O

    4JUF.JOEFS 
  11. 5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ $"4JTBOPUIFSGBNPVT440TZTUFNJO6OJWFSTJUJFT 1MPOFTFSWFSXJMMEJSFDUMZDPOOFDUUPUIF$"4TFSWFS $"4JTFBTZUPTFUVQ $"4 

  12. גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF 440 BOE1"4 1SPEVDUT"VUP6TFS.BLFS1"41MVHJO DQBTBVUPVTFSNBQQFS BO[DBTDMJFOU   $.4

    1MPOF
  13. 1MPOF 440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFIBTWFSZQPXFSGVM"VUITZTUFNVTJOH1"4 1"4JT1MVHHBCMF"VUIFOUJDBUJPO4FSWJDF *UNFBOTXFDBOVTFNVMUJQMF"VUITZTUFN 1MPOFIBTTPNFQSPEVDUTGPS440 "CPVU1"4 

  14. 5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTQSPEVDUTVQQPSUT4IJCCPMFUI *UNBLFT1MPOFTPVSDFVTFSCZ)551IFBEFS "OEXFDBOTFUBVTFSHSPVQNBQQJOHCZ;.* #VU*UIJOLUIJTQSPEVDUIBTBCJHQSPCMFNVQEBUJOHVTFS QSPQFSUJFT 'PSFYBNQMFBVTFSNPWFTUPOFXP⒏DF  UIFNBQQJOHJTO`UDIBOHFEBVUPNBUJDBMMZ

    1SPEVDUT"VUP6TFS.BLFS1"41MVHJO 
  15. 5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTQSPEVDUJTNBEFCZNF 4BNFBT1SPEVDUT"VUP6TFS.BLFS1"41MVHJO #VU DQBTBVUPVTFSNBQQFSEPFTO`UDSFBUFBSFBMVTFS JUEZOBNJDBMMZNBQTBVTFSJOTUFBE 'PSTJUFTXJUINBOZVTFST  EZOBNJDNBQQJOHJTCFUUFSUIBONBLJOHVTFS

    )PXFWFS UIF1MPOFTJUFEPFTO`UTVQQPSUTFBSDIVTFS DQBTBVUPVTFSNBQQFS 
  16. 5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 'PS$"4DMJFOUQSPEVDU 8FVTFUIJTQSPEVDU )PXFWFS*EPO`ULOPXJGJUTVQQPSUTUIFOFX$"4QSPUPDPM 7  BO[DBTDMJFOUPOMZTVQQPSUQSPUPDPM7BOE7 5IFDVSSFOU$"4QSPUPDPMTQFDJpDBUJPOJTY BO[DBTDMJFOU

    
  17. גࣜձࣾCMSίϛϡχέʔγϣϯζ  1SPUPDPM 4FRVFODF  $.4 1MPOF

  18. גࣜձࣾCMSίϛϡχέʔγϣϯζ  1MPOF 4IJCCPMFUI 4IJCCPMFUI *E1 "QBDIF NPE@TIJC 1MPOF 1"4

     BDDFTT  BTLMPHJO  6TFSJOGPJODPPLJF 6TFS #SPXTFS  SFEJSFDU  6TFSJOGPJO)551IFBEFS  SFEJSFDU  $POUFOUEBUB )5.-JNHFUD
  19. גࣜձࣾCMSίϛϡχέʔγϣϯζ  1MPOF 4JUF.JOEFS -%"1 4JUF.JOEFS *E1 "QBDIF BHFOU 1MPOF

    1"4  BDDFTT  BTLMPHJO  6TFSJOGPJODPPLJF 6TFS #SPXTFS  SFEJSFDU  6TFSJOGPJO)551IFBEFS  SFEJSFDU  $POUFOUEBUB )5.-JNHFUD  $IFDL  0, 6TFSEBUB -%"1 %#
  20. גࣜձࣾCMSίϛϡχέʔγϣϯζ  1MPOF $"4 $"4 4FSWFS "QBDIFOHJOY 1MPOF 1"4 

    BDDFTT  BTLMPHJO  6TFSJOGPJODPPLJF 6TFS #SPXTFS  SFEJSFDU  SFEJSFDU  $POUFOUEBUB )5.-JNHFUD  BDDFTT  SFEJSFDU  $IFDL  0,
  21. גࣜձࣾCMSίϛϡχέʔγϣϯζ  1ZSBNJE 4IJCCPMFUI 4IJCCPMFUI *E1 "QBDIF NPE@TIJC 1ZSBNJE TQFDJBMEFDPSBUPS

     BDDFTT  BTLMPHJO  6TFSJOGPJODPPLJF 6TFS #SPXTFS  SFEJSFDU  6TFSJOGPJO)551IFBEFS  SFEJSFDU  $POUFOUEBUB )5.-JNHFUD
  22. 1ZSBNJETQFDJBMEFDPSBUPS גࣜձࣾCMSίϛϡχέʔγϣϯζ def added_uid(func): @functools.wraps(func) def wrapper(*args, **kwargs): request =

    args[1] uid = None headers = request.headers environ = getattr(headers, 'environ', None) if environ is not None and 'HTTP_UID' in environ: uid = environ["HTTP_UID"] if uid: setattr(request, "site_uid", uid) return func(request) else: raise exc.HTTPForbidden() return wrapper @view_config(route_name="home", renderer="../templates/home.pt", check_csrf=False) @added_uid @master_template def home_view(request): ... 
  23. גࣜձࣾCMSίϛϡχέʔγϣϯζ  0OF1MPOF 4IJCCPMFUI/P4IJCCPMFUI 1MPOF 6TFS #SPXTFS 0OF EPNBJO 0UIFS

    EPNBJO 1FSNJTTJPO $IFDL
  24. גࣜձࣾCMSίϛϡχέʔγϣϯζ  "WBJMBCJMJUZ NBUSJY  $.4 1MPOF

  25. 1"41SPEVDUT גࣜձࣾCMSίϛϡχέʔγϣϯζ  1SPEVDUT "VUP6TFS.BLFS1"41MVHJO DQBT BVUPVTFSNBQQFS DQBT BVUPVTFSNBQQFS -%"1

    BO[DBTDMJFOU 4IJCCPMFUI ✔4VQQPSUFE ✔4VQQPSUFE ✔4VQQPSUFE Š $"4 Š Š Š ✔4VQQPSUFE 6OEFS7 4JUF.JOEFS ✔4VQQPSUFE ✔4VQQPSUFE ✔4VQQPSUFE Š 6TFS$SFBUF ✔4VQQPSUFE ✘/P ✘/P ✘/P 6TFS 4FBSDI ✔4VQQPSUFE ✘/P ✔4VQQPSUFE ✘/P /HJOY ✘/P ✘/P ✘/P ✔4VQQPSUFE
  26. 4IPXDBTF גࣜձࣾCMSίϛϡχέʔγϣϯζ  %&.0 %0/05SFDPSE QMFBTF  $.4 1MPOF

  27. 4IPXDBTF גࣜձࣾCMSίϛϡχέʔγϣϯζ  &OEPG%&.0 3FDPSEQMFBTF

  28. 5IFQJUGBMMTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4ZTUFNFOWJSPONFOUDIBOHFTEFQFOEJOHPOFBDI DVTUPNFS`TOFFET 6TFSJOGPSNBUJPOJTOPULOPXOVOUJMBGUFS BDDFTTJOHUIFMPDBMTJUF 6TFSEBUBCBTFJTPVUTJEFPGUIFMPDBM FOWJSPONFOU TPXFDBO`UDSFBUFUFTUVTFST 

  29. 8BOU גࣜձࣾCMSίϛϡχέʔγϣϯζ *XBOUUPNPSFDPNNFOUBOEUFTUGPSDQBTBVUPVTFSNBQQFS 1FBTF1VMM3FRVFTU *XBOUUPLOPXJUTVQQPSUTUIFOFX$"4QSPUPDPM 7 

  30. 5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ  $POUBDUUPNFBU!UFSBQZPO

  31. גࣜձࣾCMSίϛϡχέʔγϣϯζ  2"

  32. 5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ  $POUBDUUPNFBU!UFSBQZPO