Share
Embed
SSO system structure and Show case in Japan.
Talk of Plone Conference 2017 Barcelona. #ploneconf2017
Manabu TERADA
October 18, 2017
Transcript
32 slides
-
CMS communications Inc. 440TZTUFNTUSVDUVSF BOE 4IPXDBTFJO+BQBO .BOBCV5&3"%" 1MPOF$POGFSFODF
#BSDFMPOB גࣜձࣾCMSίϛϡχέʔγϣϯζ -
גࣜձࣾCMSίϛϡχέʔγϣϯζ "CPVU440 $POUFOUTPGUIJTTFTTJPO *OUSPEVDFUP440UZQFT 5ZQFTPG440 *OUSPEVDFUPQSPEVDUT 1MPOF
440BOE1"4 %&.0 *OUSPEVDFUP1MPOFTZTUFNTBOE1ZSBNJEJOUFHSBUJPO 1SPUPDPM4FRVFODF "WBJMBCJMJUZNBUSJY -
"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 -
5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTQSPEVDUJTNBEFCZNF 4BNFBT1SPEVDUT"VUP6TFS.BLFS1"41MVHJO #VU DQBTBVUPVTFSNBQQFSEPFTO`UDSFBUFBSFBMVTFS JUEZOBNJDBMMZNBQTBVTFSJOTUFBE 'PSTJUFTXJUINBOZVTFST EZOBNJDNBQQJOHJTCFUUFSUIBONBLJOHVTFS
)PXFWFS UIF1MPOFTJUFEPFTO`UTVQQPSUTFBSDIVTFS DQBTBVUPVTFSNBQQFS -
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF 4IJCCPMFUI 4IJCCPMFUI *E1 "QBDIF NPE@TIJC 1MPOF 1"4
BDDFTT BTLMPHJO 6TFSJOGPJODPPLJF 6TFS #SPXTFS SFEJSFDU 6TFSJOGPJO)551IFBEFS SFEJSFDU $POUFOUEBUB )5.-JNHFUD -
גࣜձࣾ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 %# -
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF $"4 $"4 4FSWFS "QBDIFOHJOY 1MPOF 1"4
BDDFTT BTLMPHJO 6TFSJOGPJODPPLJF 6TFS #SPXTFS SFEJSFDU SFEJSFDU $POUFOUEBUB )5.-JNHFUD BDDFTT SFEJSFDU $IFDL 0, -
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1ZSBNJE 4IJCCPMFUI 4IJCCPMFUI *E1 "QBDIF NPE@TIJC 1ZSBNJE TQFDJBMEFDPSBUPS
BDDFTT BTLMPHJO 6TFSJOGPJODPPLJF 6TFS #SPXTFS SFEJSFDU 6TFSJOGPJO)551IFBEFS SFEJSFDU $POUFOUEBUB )5.-JNHFUD -
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): ... -
גࣜձࣾCMSίϛϡχέʔγϣϯζ 0OF1MPOF 4IJCCPMFUI/P4IJCCPMFUI 1MPOF 6TFS #SPXTFS 0OF EPNBJO 0UIFS
EPNBJO 1FSNJTTJPO $IFDL -
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