SlideShare a Scribd company logo
Apache 2.3
mod_auth_form + mod_session
             <koura-h@klab.jp>
• Apache
•
• Apache 2.2
• Apache 2.3
•      (           )
•
•   MacOSX Linux
•
•
Apache

•        2.2   (=2.2.14 at 2010/3/5)

•                 2.3                   (2.3.5-
    alpha and svn trunk)
    • stable                2.4   3.0
~Apache 2.2 (   )
(          )

login

                     home




        logout
•    CGI(Web   )


•
•
•   CGI
•
    •
    •
•       ID
(          )

login

                     home




        logout
•
(          )

login

                     home




        logout
•

    •

    •
(          )

login

                     home




        logout
Apache 2.3~
Browser   Apache(httpd)
Browser                   Apache(httpd)




• 401 Authorization Required
•
  •
mod_auth_form                   …

   Browser      Apache(httpd)
mod_auth_form                             …

     Browser              Apache(httpd)




• 301 Moved Permanently
•
(          )

login

                     home




        logout
• Apache                     -
    mod_auth_form + mod_session
•
    • handler
    • check_authn (or check_user_id)
Apache
• HTTP           Apache


    •    parse
                   etc...

•
•
handler

•         HTTP
          HTTP



• CGI   Web
check_authn

•       HTTP




• 2.3
               (check_user_id   )
mod_auth_form

•
    • handler
    • check_authn
•
    • check_authn
httpd.conf
<Location /doauth>
  SetHandler form-login-handler
  AuthFormLoginRequiredLocation /login.html
  AuthFormLoginSuccessLocation /mypage/
  AuthFormProvider dbd
  AuthDBDUserPWQuery "SELECT password FROM user
WHERE user = %s"
  AuthType form
  AuthName realm
  Session On
  SessionDBDCookieName session path=/
</Location>

<Location /dologout>
  SetHandler form-logout-handler
  AuthFormLogoutLocation /logout.html
  AuthName realm
  Session On
  SessionDBDCookieName session path=/
</Location>
httpd.conf
•                = /doauth

•                  = /dologout

    • SetHandler
    • AuthFormLoginSuccessLocation
    • AuthFormLoginRequiredLocation
    • AuthFormLogoutLocation
httpd.conf

<LocationMatch "/mypage/*">
  AuthFormProvider dbd
  AuthDBDUserPWQuery "SELECT password FROM user
WHERE user = %s"
  AuthFormLoginRequiredLocation /login.html
  AuthType form
  AuthName realm
  Session On
  SessionEnv On
  SessionDBDCookieName session path=/
</LocationMatch>
(ACL)

• AuthFormProvider
 •         DB

 •            LDAP

• htpasswd
(          )

login

                     home




        logout
• CGI/Web
•         HTTP_SESSION
    REMOTE_USER
•           ID

    •
•              HTTP_SESSION


    • mod_session_crypto
•         ID

    •
•                 DB


    • Key-Value
...

• MPM
• mod_lua
• FastCGI        (mod_proxy_fcgi &
  fcgistarter)
• etc...
DSAS
20100305

More Related Content

What's hot

Toutch Jquery Mobile
Toutch Jquery MobileToutch Jquery Mobile
Toutch Jquery MobileJinlong He
 
Go Web Development
Go Web DevelopmentGo Web Development
Go Web DevelopmentCheng-Yi Yu
 
Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Naresha K
 
Introduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genIntroduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genMongoDB
 
Efficient DBA: Gain Time by Reducing Command-Line Keystrokes
Efficient DBA: Gain Time by Reducing Command-Line KeystrokesEfficient DBA: Gain Time by Reducing Command-Line Keystrokes
Efficient DBA: Gain Time by Reducing Command-Line KeystrokesSeth Miller
 
Different waysconnect
Different waysconnectDifferent waysconnect
Different waysconnectmyrajendra
 
PLAT-15 Forms Config, Customization, and Extension
PLAT-15 Forms Config, Customization, and ExtensionPLAT-15 Forms Config, Customization, and Extension
PLAT-15 Forms Config, Customization, and ExtensionAlfresco Software
 

What's hot (10)

Intro to Apache Shiro
Intro to Apache ShiroIntro to Apache Shiro
Intro to Apache Shiro
 
Toutch Jquery Mobile
Toutch Jquery MobileToutch Jquery Mobile
Toutch Jquery Mobile
 
Go Web Development
Go Web DevelopmentGo Web Development
Go Web Development
 
Azure F#unctions
Azure F#unctionsAzure F#unctions
Azure F#unctions
 
Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014Better Selenium Tests with Geb - Selenium Conf 2014
Better Selenium Tests with Geb - Selenium Conf 2014
 
Introduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genIntroduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10gen
 
Pyramid REST
Pyramid RESTPyramid REST
Pyramid REST
 
Efficient DBA: Gain Time by Reducing Command-Line Keystrokes
Efficient DBA: Gain Time by Reducing Command-Line KeystrokesEfficient DBA: Gain Time by Reducing Command-Line Keystrokes
Efficient DBA: Gain Time by Reducing Command-Line Keystrokes
 
Different waysconnect
Different waysconnectDifferent waysconnect
Different waysconnect
 
PLAT-15 Forms Config, Customization, and Extension
PLAT-15 Forms Config, Customization, and ExtensionPLAT-15 Forms Config, Customization, and Extension
PLAT-15 Forms Config, Customization, and Extension
 

Viewers also liked

Creating a form in Dreamweaver
Creating a form in DreamweaverCreating a form in Dreamweaver
Creating a form in DreamweavermisschambersICT
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009Cathie101
 
Can ho hoa binh green park
Can ho hoa binh green parkCan ho hoa binh green park
Can ho hoa binh green parkcanholexington
 
Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Cathie101
 
Web Design 101
Web Design 101Web Design 101
Web Design 101T.S. Lim
 

Viewers also liked (6)

Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Creating a form in Dreamweaver
Creating a form in DreamweaverCreating a form in Dreamweaver
Creating a form in Dreamweaver
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
 
Can ho hoa binh green park
Can ho hoa binh green parkCan ho hoa binh green park
Can ho hoa binh green park
 
Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0Dynamic Web Pages Ch 4 V1.0
Dynamic Web Pages Ch 4 V1.0
 
Web Design 101
Web Design 101Web Design 101
Web Design 101
 

Similar to 20100305

PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)TaiShunHuang
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsPuneet Ghanshani
 
REST API Security: OAuth 2.0, JWTs, and More!
REST API Security: OAuth 2.0, JWTs, and More!REST API Security: OAuth 2.0, JWTs, and More!
REST API Security: OAuth 2.0, JWTs, and More!Stormpath
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scalatakezoe
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2Rodrigo Cândido da Silva
 
Modx Evo Basic Cheatsheet 1 3
Modx Evo Basic Cheatsheet 1 3Modx Evo Basic Cheatsheet 1 3
Modx Evo Basic Cheatsheet 1 3Oleh Burkhay
 
Super simple application security with Apache Shiro
Super simple application security with Apache ShiroSuper simple application security with Apache Shiro
Super simple application security with Apache ShiroMarakana Inc.
 
Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Dejan Glozic
 
15-auth-session-mgmt.ppt
15-auth-session-mgmt.ppt15-auth-session-mgmt.ppt
15-auth-session-mgmt.pptssuserec53e73
 
Persona: in your browsers, killing your passwords
Persona: in your browsers, killing your passwordsPersona: in your browsers, killing your passwords
Persona: in your browsers, killing your passwordsFrancois Marier
 
Apache Server Tutorial
Apache Server TutorialApache Server Tutorial
Apache Server TutorialJagat Kothari
 
Chrome Devtools Protocol via Selenium/Appium (English)
Chrome Devtools Protocol via Selenium/Appium (English)Chrome Devtools Protocol via Selenium/Appium (English)
Chrome Devtools Protocol via Selenium/Appium (English)Kazuaki Matsuo
 
下吧开发总结
下吧开发总结下吧开发总结
下吧开发总结Night Sailer
 
Secure Coding for NodeJS
Secure Coding for NodeJSSecure Coding for NodeJS
Secure Coding for NodeJSThang Chung
 

Similar to 20100305 (20)

Apache mod authまわりとか
Apache mod authまわりとかApache mod authまわりとか
Apache mod authまわりとか
 
PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)
 
Kiosk / PHP
Kiosk / PHP Kiosk / PHP
Kiosk / PHP
 
Rails Security
Rails SecurityRails Security
Rails Security
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
Hacking Wordpress Plugins
Hacking Wordpress PluginsHacking Wordpress Plugins
Hacking Wordpress Plugins
 
Some OAuth love
Some OAuth loveSome OAuth love
Some OAuth love
 
REST API Security: OAuth 2.0, JWTs, and More!
REST API Security: OAuth 2.0, JWTs, and More!REST API Security: OAuth 2.0, JWTs, and More!
REST API Security: OAuth 2.0, JWTs, and More!
 
GitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by ScalaGitBucket: The perfect Github clone by Scala
GitBucket: The perfect Github clone by Scala
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
 
JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2
 
Modx Evo Basic Cheatsheet 1 3
Modx Evo Basic Cheatsheet 1 3Modx Evo Basic Cheatsheet 1 3
Modx Evo Basic Cheatsheet 1 3
 
Super simple application security with Apache Shiro
Super simple application security with Apache ShiroSuper simple application security with Apache Shiro
Super simple application security with Apache Shiro
 
Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017
 
15-auth-session-mgmt.ppt
15-auth-session-mgmt.ppt15-auth-session-mgmt.ppt
15-auth-session-mgmt.ppt
 
Persona: in your browsers, killing your passwords
Persona: in your browsers, killing your passwordsPersona: in your browsers, killing your passwords
Persona: in your browsers, killing your passwords
 
Apache Server Tutorial
Apache Server TutorialApache Server Tutorial
Apache Server Tutorial
 
Chrome Devtools Protocol via Selenium/Appium (English)
Chrome Devtools Protocol via Selenium/Appium (English)Chrome Devtools Protocol via Selenium/Appium (English)
Chrome Devtools Protocol via Selenium/Appium (English)
 
下吧开发总结
下吧开发总结下吧开发总结
下吧开发总结
 
Secure Coding for NodeJS
Secure Coding for NodeJSSecure Coding for NodeJS
Secure Coding for NodeJS
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsVlad Stirbu
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

20100305

  • 1. Apache 2.3 mod_auth_form + mod_session <koura-h@klab.jp>
  • 2. • Apache • • Apache 2.2 • Apache 2.3
  • 3. ( ) • • MacOSX Linux • •
  • 4. Apache • 2.2 (=2.2.14 at 2010/3/5) • 2.3 (2.3.5- alpha and svn trunk) • stable 2.4 3.0
  • 6. ( ) login home logout
  • 7. CGI(Web ) • • • CGI
  • 8. • • • ID
  • 9. ( ) login home logout
  • 10.
  • 11. ( ) login home logout
  • 12. • •
  • 13. ( ) login home logout
  • 15. Browser Apache(httpd)
  • 16. Browser Apache(httpd) • 401 Authorization Required • •
  • 17. mod_auth_form … Browser Apache(httpd)
  • 18. mod_auth_form … Browser Apache(httpd) • 301 Moved Permanently •
  • 19. ( ) login home logout
  • 20. • Apache - mod_auth_form + mod_session • • handler • check_authn (or check_user_id)
  • 21. Apache • HTTP Apache • parse etc... • •
  • 22.
  • 23. handler • HTTP HTTP • CGI Web
  • 24. check_authn • HTTP • 2.3 (check_user_id )
  • 25. mod_auth_form • • handler • check_authn • • check_authn
  • 26.
  • 27. httpd.conf <Location /doauth>   SetHandler form-login-handler   AuthFormLoginRequiredLocation /login.html   AuthFormLoginSuccessLocation /mypage/   AuthFormProvider dbd   AuthDBDUserPWQuery "SELECT password FROM user WHERE user = %s"   AuthType form   AuthName realm   Session On   SessionDBDCookieName session path=/ </Location> <Location /dologout>   SetHandler form-logout-handler   AuthFormLogoutLocation /logout.html   AuthName realm   Session On   SessionDBDCookieName session path=/ </Location>
  • 28. httpd.conf • = /doauth • = /dologout • SetHandler • AuthFormLoginSuccessLocation • AuthFormLoginRequiredLocation • AuthFormLogoutLocation
  • 29. httpd.conf <LocationMatch "/mypage/*">   AuthFormProvider dbd   AuthDBDUserPWQuery "SELECT password FROM user WHERE user = %s"   AuthFormLoginRequiredLocation /login.html   AuthType form   AuthName realm   Session On SessionEnv On   SessionDBDCookieName session path=/ </LocationMatch>
  • 30. (ACL) • AuthFormProvider • DB • LDAP • htpasswd
  • 31. ( ) login home logout
  • 32. • CGI/Web • HTTP_SESSION REMOTE_USER • ID •
  • 33. HTTP_SESSION • mod_session_crypto • ID •
  • 34. DB • Key-Value
  • 35. ... • MPM • mod_lua • FastCGI (mod_proxy_fcgi & fcgistarter) • etc...
  • 36. DSAS

Editor's Notes

  1. ssh midlab.st.wakwak.ne.jp&amp;#x3057;&amp;#x3066;&amp;#x3001;8080&amp;#x756A;&amp;#x3078;&amp;#x306E;port forwarding&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x304F;&amp;#x3053;&amp;#x3068;&amp;#x3002; Safari&amp;#x306E;proxy&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;8080&amp;#x3078;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x304F;&amp;#x3053;&amp;#x3068;&amp;#x3002;
  2. Apache&amp;#x3068;&amp;#x3044;&amp;#x3048;&amp;#x3070;&amp;#x3001;Web&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9;&amp;#x3092;&amp;#x69CB;&amp;#x7BC9;&amp;#x3059;&amp;#x308B;&amp;#x4E0A;&amp;#x3067;&amp;#x3060;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3069;&amp;#x3053;&amp;#x304B;&amp;#x3067;&amp;#x5FC5;&amp;#x305A;&amp;#x304A;&amp;#x4E16;&amp;#x8A71;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3067;&amp;#x3042;&amp;#x308D;&amp;#x3046;&amp;#x3001;HTTP&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x306E;&amp;#x30C7;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30C0;&amp;#x30FC;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x5E45;&amp;#x5E83;&amp;#x304F;&amp;#x5B9A;&amp;#x7740;&amp;#x3057;&amp;#x305F;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x3060;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;KLab&amp;#x3067;&amp;#x3082;&amp;#x5404;&amp;#x6240;&amp;#x3067;&amp;#x904B;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x4E16;&amp;#x8A71;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002; &amp;#x73FE;&amp;#x5728;&amp;#x3001;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;2.2&amp;#x7CFB;&amp;#x304C;&amp;#x5B89;&amp;#x5B9A;&amp;#x7248;(stable branch)&amp;#x3068;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x304A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x958B;&amp;#x767A;&amp;#x7248;&amp;#x3067;&amp;#x3042;&amp;#x308B;2.3&amp;#x7CFB;&amp;#x304C;&amp;#x65E2;&amp;#x306B;&amp;#x4E26;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x516C;&amp;#x958B;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3092;&amp;#x3054;&amp;#x5B58;&amp;#x77E5;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#x3002;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x6A5F;&amp;#x80FD;&amp;#x3084;&amp;#x6280;&amp;#x8853;&amp;#x3092;&amp;#x53D6;&amp;#x308A;&amp;#x5165;&amp;#x308C;&amp;#x3066;&amp;#x884C;&amp;#x304F;&amp;#x70BA;&amp;#x306B;2.2&amp;#x7CFB;&amp;#x3068;&amp;#x306E;&amp;#x9593;&amp;#x306E;&amp;#x4E92;&amp;#x63DB;&amp;#x6027;&amp;#x3092;&amp;#x6642;&amp;#x306B;&amp;#x72A0;&amp;#x7272;&amp;#x306B;&amp;#x3057;&amp;#x3064;&amp;#x3064;&amp;#x3001;&amp;#x69D8;&amp;#x3005;&amp;#x306A;&amp;#x30C1;&amp;#x30E3;&amp;#x30EC;&amp;#x30F3;&amp;#x30B8;&amp;#x304C;&amp;#x884C;&amp;#x308F;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x5C06;&amp;#x6765;&amp;#x7684;&amp;#x306B;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;2.4&amp;#x7CFB;&amp;#x3068;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x5B89;&amp;#x5B9A;&amp;#x7248;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;
  3. &amp;#x305F;&amp;#x3068;&amp;#x3048;&amp;#x3070;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x69CB;&amp;#x7BC9;&amp;#x3001;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x9077;&amp;#x79FB;&amp;#x304C;&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x7DD1;&amp;#x8272;&amp;#x306E;&amp;#x304C;HTML&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3001;&amp;#x70B9;&amp;#x7DDA;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x304C;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30FB;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x3082;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x3002;
  4. &amp;#xA0;
  5. &amp;#xA0;
  6. &amp;#xA0;
  7. &amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x623B;&amp;#x3057;&amp;#x3066;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C6;&amp;#x30A3;&amp;#x30D6;&amp;#x898B;&amp;#x305B;&amp;#x306A;&amp;#x304C;&amp;#x3089;&amp;#x8AAC;&amp;#x660E;