Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
340
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
PythonエンジニアになるためのテクニカルハイライトとPython実践試験学習方法
terapyon
0
42
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
580
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
420
Desktop Apps Made Easy: Python Web UI Frameworks with Streamlit and Stlite
terapyon
1
94
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
terapyon
0
3k
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
72
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
140
Python Web UIフレームワークのススメ
terapyon
0
1.5k
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
120
Other Decks in Technology
See All in Technology
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
230
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
4.9k
Introdução a Service Mesh usando o Istio
aeciopires
0
200
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
1.7k
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
330
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
250
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
5k
それでも私が品質保証プロセスを作り続ける理由 #テストラジオ / Why I still continue to create QA process
pineapplecandy
0
130
Liquid AI Hackathon Tokyo プレゼン資料
aratako
0
110
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.5k
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
310
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
9k
Writing Fast Ruby
sferik
629
62k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Optimizing for Happiness
mojombo
379
70k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
A designer walks into a library…
pauljervisheath
209
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