$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SSO system structure and Show case in Japan.
Search
Manabu TERADA
October 18, 2017
Technology
1
350
SSO system structure and Show case in Japan.
Talk of Plone Conference 2017 Barcelona. #ploneconf2017
Manabu TERADA
October 18, 2017
Tweet
Share
More Decks by Manabu TERADA
See All by Manabu TERADA
オープンソースを安心して利用するために
terapyon
1
62
CMSツールPloneでAAL2対応への挑戦
terapyon
0
42
PythonエンジニアになるためのテクニカルハイライトとPython実践試験学習方法
terapyon
0
53
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
710
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
450
Desktop Apps Made Easy: Python Web UI Frameworks with Streamlit and Stlite
terapyon
1
100
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
terapyon
0
3.9k
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
88
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
160
Other Decks in Technology
See All in Technology
文字列の並び順 / Unicode Collation
tmtms
3
600
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
210
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
200
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
330
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
530
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
220
チーリンについて
hirotomotaguchi
6
2k
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
110
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
790
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Optimizing for Happiness
mojombo
379
70k
Docker and Python
trallard
47
3.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Statistics for Hackers
jakevdp
799
230k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
CMS communications Inc. 440TZTUFNTUSVDUVSF BOE 4IPXDBTFJO+BQBO .BOBCV5&3"%" 1MPOF$POGFSFODF
#BSDFMPOB גࣜձࣾCMSίϛϡχέʔγϣϯζ
!UFSBQZPO 0XOFSBOE$&0PG$.4DPNNVOJDBUJPOT*OD #PBSE$IBJSPG1Z$PO+1 +BQBO 1MPOF'PVOEBUJPO"NCBTTBEPS .FNCFSPG/7%"+BQBOFTF5FBN 0SHBOJ[FSPG+BQBO0QFOFE9VTFSHSPVQ "CPVUNF גࣜձࣾCMSίϛϡχέʔγϣϯζ
.BOBCV5&3"%" ࣉాɹֶ
"CPVUPVSDPNQBOZ גࣜձࣾCMSίϛϡχέʔγϣϯζ 0VSDPNQBOZJT$.4DPNCBTFEJO5PLZP +BQBO 8FVTF1MPOFGPSCVJMEJOHXFCTJUFT 6OJWFSTJUJFT 1VCMJDJOTUJUVUJPOT &OHJOFFSJOHDPNQBOJFT 4VQQPSUJOHFEVDBUJPOUPPMT $.4DPN
גࣜձࣾCMSίϛϡχέʔγϣϯζ "CPVU440 $POUFOUTPGUIJTTFTTJPO *OUSPEVDFUP440UZQFT 5ZQFTPG440 *OUSPEVDFUPQSPEVDUT 1MPOF
440BOE1"4 %&.0 *OUSPEVDFUP1MPOFTZTUFNTBOE1ZSBNJEJOUFHSBUJPO 1SPUPDPM4FRVFODF "WBJMBCJMJUZNBUSJY
גࣜձࣾCMSίϛϡχέʔγϣϯζ "CPVU440 $.4 1MPOF
"CPVU440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4JOHMF4JHO0O "VTFSMPHHFEJOUPPOFTJUFDBOBDDFTTNVMUJQMFTJUFTXJUIPVU OFFEJOHUPJOQVUMPHJOJOGPSNBUJPOBHBJO 8IBUJT440
"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
גࣜձࣾCMSίϛϡχέʔγϣϯζ 5ZQFTPG440 4IJCCPMFUI $"4 $"4JOHMF4JHO0O 4JUF.JOEFS $.4 1MPOF
5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4IJCCPMFUIJTPOFPGUIFGBNPVT440TZTUFNTJO6OJWFSTJUJFT 6TJOH"QBDIFTQFDJpDNPEVMF "QBDIFEPFTO`UOFFEUPDPOOFDUUP440*E1TFSWFS #VU *UOFFEUPJOTUBMMBTBNFDFSUJpDBUF 1MPOFXJMMHFUVTFSJOGPSNBUJPOGSPNUIF)551IFBEFS 4IJCCPMFUI
5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTJTBDPNNFSDJBMQSPEVDU 6TJOH"QBDIFTQFDJpDNPEVMF TBNFBT4IJCCPMFUI #VU UIJTTZTUFNOFFETUPDPOOFDUGSPN"QBDIFUP*E1TFSWFS 1MPOFXJMMHFUVTFSJOGPSNBUJPOGSPNUIF)551IFBEFS TBNFBT4IJCCPMFUI $"4JOHMF4JHO0O
4JUF.JOEFS
5ZQFTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ $"4JTBOPUIFSGBNPVT440TZTUFNJO6OJWFSTJUJFT 1MPOFTFSWFSXJMMEJSFDUMZDPOOFDUUPUIF$"4TFSWFS $"4JTFBTZUPTFUVQ $"4
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF 440 BOE1"4 1SPEVDUT"VUP6TFS.BLFS1"41MVHJO DQBTBVUPVTFSNBQQFS BO[DBTDMJFOU $.4
1MPOF
1MPOF 440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFIBTWFSZQPXFSGVM"VUITZTUFNVTJOH1"4 1"4JT1MVHHBCMF"VUIFOUJDBUJPO4FSWJDF *UNFBOTXFDBOVTFNVMUJQMF"VUITZTUFN 1MPOFIBTTPNFQSPEVDUTGPS440 "CPVU1"4
5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTQSPEVDUTVQQPSUT4IJCCPMFUI *UNBLFT1MPOFTPVSDFVTFSCZ)551IFBEFS "OEXFDBOTFUBVTFSHSPVQNBQQJOHCZ;.* #VU*UIJOLUIJTQSPEVDUIBTBCJHQSPCMFNVQEBUJOHVTFS QSPQFSUJFT 'PSFYBNQMFBVTFSNPWFTUPOFXP⒏DF UIFNBQQJOHJTO`UDIBOHFEBVUPNBUJDBMMZ
1SPEVDUT"VUP6TFS.BLFS1"41MVHJO
5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 5IJTQSPEVDUJTNBEFCZNF 4BNFBT1SPEVDUT"VUP6TFS.BLFS1"41MVHJO #VU DQBTBVUPVTFSNBQQFSEPFTO`UDSFBUFBSFBMVTFS JUEZOBNJDBMMZNBQTBVTFSJOTUFBE 'PSTJUFTXJUINBOZVTFST EZOBNJDNBQQJOHJTCFUUFSUIBONBLJOHVTFS
)PXFWFS UIF1MPOFTJUFEPFTO`UTVQQPSUTFBSDIVTFS DQBTBVUPVTFSNBQQFS
5ZQFTPG1"4GPS440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 'PS$"4DMJFOUQSPEVDU 8FVTFUIJTQSPEVDU )PXFWFS*EPO`ULOPXJGJUTVQQPSUTUIFOFX$"4QSPUPDPM 7 BO[DBTDMJFOUPOMZTVQQPSUQSPUPDPM7BOE7 5IFDVSSFOU$"4QSPUPDPMTQFDJpDBUJPOJTY BO[DBTDMJFOU
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1SPUPDPM 4FRVFODF $.4 1MPOF
גࣜձࣾ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
גࣜձࣾCMSίϛϡχέʔγϣϯζ "WBJMBCJMJUZ NBUSJY $.4 1MPOF
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
4IPXDBTF גࣜձࣾCMSίϛϡχέʔγϣϯζ %&.0 %0/05SFDPSE QMFBTF $.4 1MPOF
4IPXDBTF גࣜձࣾCMSίϛϡχέʔγϣϯζ &OEPG%&.0 3FDPSEQMFBTF
5IFQJUGBMMTPG440 גࣜձࣾCMSίϛϡχέʔγϣϯζ 4ZTUFNFOWJSPONFOUDIBOHFTEFQFOEJOHPOFBDI DVTUPNFS`TOFFET 6TFSJOGPSNBUJPOJTOPULOPXOVOUJMBGUFS BDDFTTJOHUIFMPDBMTJUF 6TFSEBUBCBTFJTPVUTJEFPGUIFMPDBM FOWJSPONFOU TPXFDBO`UDSFBUFUFTUVTFST
8BOU גࣜձࣾCMSίϛϡχέʔγϣϯζ *XBOUUPNPSFDPNNFOUBOEUFTUGPSDQBTBVUPVTFSNBQQFS 1FBTF1VMM3FRVFTU *XBOUUPLOPXJUTVQQPSUTUIFOFX$"4QSPUPDPM 7
5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ $POUBDUUPNFBU!UFSBQZPO
גࣜձࣾCMSίϛϡχέʔγϣϯζ 2"
5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ $POUBDUUPNFBU!UFSBQZPO