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
37
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
420
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
370
Desktop Apps Made Easy: Python Web UI Frameworks with Streamlit and Stlite
terapyon
1
78
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
terapyon
0
1.8k
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
58
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
120
Python Web UIフレームワークのススメ
terapyon
0
1.3k
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
110
Other Decks in Technology
See All in Technology
SAE J1939シミュレーション環境構築
daikiokazaki
1
200
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.3k
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
230
大規模イベントに向けた ABEMA アーキテクチャの遍歴 ~ Platform Strategy 詳細解説 ~
nagapad
0
130
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
160
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
2.3k
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
520
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
4
320
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
160
Microsoft Learn MCP/Fabric データエージェント/Fabric MCP/Copilot Studio-簡単・便利なAIエージェント作ってみた -"Building Simple and Powerful AI Agents with Microsoft Learn MCP, Fabric Data Agent, Fabric MCP, and Copilot Studio"-
reireireijinjin6
1
200
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
110
Wasmで社内ツールを作って配布しよう
askua
0
180
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Unsuck your backbone
ammeep
671
58k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
730
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
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