SlideShare uma empresa Scribd logo
1 de 25
Wir leben TYPO3




      Single-Sign-On with TYPO3 –
      Die Extension „shibboleth“
Wir leben TYPO3                         in2code.de
Agenda




Wir leben TYPO3            in2code.de
Agenda

• Single-Sign-On mit Shibboleth
• Die Extension „shibboleth“
• Live-Demo
• Weitere Entwicklung




Wir leben TYPO3                   in2code.de
Single-Sign-On mit Shibboleth




Wir leben TYPO3              in2code.de
Komponenten
          TYPO3                                     Shibboleth IdP
        (FE or BE)          (Discovery Service)       Shibboleth IdP
                                                  (Identity Provider)
                                                        Shibboleth IdP
                                                    (Identity Provider)
                                                      (Identity Provider)
       EXT:shibboleth
    TYPO3 auth services

       mod_shibb
      Apache httpd

      OS with shibd

                                                  Authentifizierungs-
  Webserver (Service                                   Server
      Provider)


• Es wird der „native Service Provider“
  verwendet
Wir leben TYPO3                                               in2code.de
Wir leben TYPO3   in2code.de
Umgebungsvariablen




• REMOTE_USER wird nicht
  notwendigerweise benutzt!

Wir leben TYPO3                 in2code.de
Die Extension „shibboleth“




Wir leben TYPO3                in2code.de
Installation

• Extension installieren
• .htaccess anpassen:
        AuthType shibboleth
       # ShibRequireSession On
       require shibboleth
Passiver („lazy“) Modus




Wir leben TYPO3                          in2code.de
Konfiguration

• Im Extension
  Manager
• Konfigurations-
  datei für das
  „Mapping“




Wir leben TYPO3                   in2code.de
Allg. Konfigurationsparameter

• Wie wird der native SP aufgerufen:
  entityID, handlerURL, Session Initiator,
  „force SSL“
• Pfad zur Konfigurationsdatei für das
  Mapping




Wir leben TYPO3                       in2code.de
FE-Konfigurationsparameter

• Benutzer-Autoimport (ja/nein)
• Page ID für Autoimport
• Optional: Application-ID (Shibboleth)




Wir leben TYPO3                      in2code.de
BE-Konfigurationsparameter

• Benutzer-Autoimport (ja/nein)
• Benutzer deaktiviert importieren (ja/nein)
• Shibboleth-Link im Login-Formular
  aktivieren
• Optional: Application-ID (Shibboleth)




Wir leben TYPO3                       in2code.de
Backend-Login-Formular




                  Keine Core-Änderung!
                  (Javascript über Hook)
Wir leben TYPO3                            in2code.de
Struktur der Mapping-Konfig.

• TypoScript-Syntax:
  tx_shibboleth {
       FE {                    Zuordnung der User-ID
              IDMapping {
                      …
              }
                                     Autorisierung
              userControls {
                      allowUser …                      Metadaten-Übernahme
                      createUserFieldsMapping …
                      updateUserFieldsMapping …
              }                                        Metadaten-Updates
       }
       BE
       …


Wir leben TYPO3                                             in2code.de
Zuordnung der User-ID
                                                 Beispiel Umgebungsvariablen




  BE {
         IDMapping {
                                    Bezug auf Umgebungsvariable (von shibd)
                 shibID = TEXT
                 shibID.field = uid
                 typo3Field = username
         }
                                      Feldname in TYPO3 (meist: username)
         …
  }




Wir leben TYPO3                                                 in2code.de
Selektion erlaubter Benutzer
  BE {
         …                             Jeder erkannte Benutzer wird
         userControls {                 zugelassen (Autorisierung)
                 allowUser = TEXT
                 allowUser.value = 1
                 …
         }



• Flexibilität durch Nutzung des TypoScript-
  Parsers: Fast beliebige Bedingungen für
  die Autorisierung können definiert werden

Wir leben TYPO3                                            in2code.de
Benutzer-Metadaten
  BE {
         …
         userControls {
                                                   Metadaten kommen vom
                 …
                                                            IdP
                 createUserFieldsMapping {
                         realName = COA
                         realName.1 = TEXT
                         realName.1.field = sn
                         realName.3 = TEXT
                         realName.3.field = givenName
                         realName.3.noTrimWrap = |, ||
                 }
                 …
         }
  }

Wir leben TYPO3                                           in2code.de
Live-Demo




Wir leben TYPO3               in2code.de
Die Situation

• Es werden >200 TYPO3-Instanzen betreut
• Die „Instanz-Eigentümer“ haben keine
  Admin-Rechte
• Die Instanz-Eigentümer pflegen auch die
  Redakteure
• Die Backend-Anmeldung erfolgt über
  Shibboleth


Wir leben TYPO3                   in2code.de
Extension groupdelegation

• Spezielle BE-Benutzer erhalten das Recht,
  die Gruppenzuordung anderer Benutzer
  zu editieren
• Beschränkt auf die eigenen Gruppen
• Auch die Freischaltung/Sperrung der
  Benutzer wird erlaubt



Wir leben TYPO3                    in2code.de
Live-Demo-Szenario

• Neuer Benutzer soll Backend-Zugriff
  bekommen
   1. Anmeldeversuch über Shibboleth 
      Benutzer wird angelegt, aber gesperrt
   2. Admin oder „Sub-Admin“ schaltet frei
   3. Erfolgreiche Anmeldung über Shibboleth

                  NICHT klicken! Live-Demo!




Wir leben TYPO3                               in2code.de
Weitere Entwicklung




Wir leben TYPO3                    in2code.de
Weitere Entwicklung

• Dokumentation und Veröffentlichung
• Embedded Discovery Service?
• Single-Logout
   – Caveats: Benutzer-Erwartung und -Führung
• Logout in Load-Balancing-Umgebungen
   – „Sticky Sessions“?
   – Shared Process?
   – Store Session on ODBC-Database?
Wir leben TYPO3                        in2code.de
Vielen Dank



Links und Kontakt:
http://forge.typo3.org/projects/show/extension-shibboleth
http://de.slideshare.net/tschikarski/shibboleth-singlesignon-mit-typo3
mailto:thomas.schikarski@in2code.de

Wir leben TYPO3                                                          in2code.de

Mais conteúdo relacionado

Destaque

Herramientas de seguridad y web 2.0
Herramientas de seguridad y web 2.0Herramientas de seguridad y web 2.0
Herramientas de seguridad y web 2.0EXO1209
 
Pasos para-el-mantenimiento-preventivo
Pasos para-el-mantenimiento-preventivoPasos para-el-mantenimiento-preventivo
Pasos para-el-mantenimiento-preventivoGuadalupe1930
 
Sand oder öl im getriebe
Sand oder öl im getriebeSand oder öl im getriebe
Sand oder öl im getriebeTobinium
 
Clausewitz
ClausewitzClausewitz
Clausewitzimoiroux
 
Teleconferencia de daniel sánchez guzmán
Teleconferencia de daniel sánchez guzmánTeleconferencia de daniel sánchez guzmán
Teleconferencia de daniel sánchez guzmánapfaglobal
 
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)NETWAYS
 
Théâtre de Bâle Programmation Octobre 2014
Théâtre de Bâle Programmation Octobre 2014 Théâtre de Bâle Programmation Octobre 2014
Théâtre de Bâle Programmation Octobre 2014 Bâle Région Mag
 
Costos de produccion
Costos de produccionCostos de produccion
Costos de produccionAury2003
 
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015)
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015) Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015)
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015) dgpuk2015
 
informatica juridica y derecho de la informatica
informatica juridica y derecho de la informaticainformatica juridica y derecho de la informatica
informatica juridica y derecho de la informaticapedro bahamonde
 
Consejos para profesores, ppt inteligencia.
Consejos para profesores, ppt inteligencia.Consejos para profesores, ppt inteligencia.
Consejos para profesores, ppt inteligencia.claritalopezcancino
 
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblick
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein ÜberblickAxel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblick
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblicklernet
 

Destaque (17)

schau.gmuend Nr.20
schau.gmuend Nr.20schau.gmuend Nr.20
schau.gmuend Nr.20
 
Herramientas de seguridad y web 2.0
Herramientas de seguridad y web 2.0Herramientas de seguridad y web 2.0
Herramientas de seguridad y web 2.0
 
Pasos para-el-mantenimiento-preventivo
Pasos para-el-mantenimiento-preventivoPasos para-el-mantenimiento-preventivo
Pasos para-el-mantenimiento-preventivo
 
Sand oder öl im getriebe
Sand oder öl im getriebeSand oder öl im getriebe
Sand oder öl im getriebe
 
Clausewitz
ClausewitzClausewitz
Clausewitz
 
Teleconferencia de daniel sánchez guzmán
Teleconferencia de daniel sánchez guzmánTeleconferencia de daniel sánchez guzmán
Teleconferencia de daniel sánchez guzmán
 
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
Puppet: Aufbau einer Puppet Enterprise Umgebung (Webinar vom 28.03.2014)
 
TUGAS TIP MS EXCEL
TUGAS TIP MS EXCELTUGAS TIP MS EXCEL
TUGAS TIP MS EXCEL
 
Virus
VirusVirus
Virus
 
Théâtre de Bâle Programmation Octobre 2014
Théâtre de Bâle Programmation Octobre 2014 Théâtre de Bâle Programmation Octobre 2014
Théâtre de Bâle Programmation Octobre 2014
 
Power Point
Power PointPower Point
Power Point
 
Costos de produccion
Costos de produccionCostos de produccion
Costos de produccion
 
Las drogas
Las drogasLas drogas
Las drogas
 
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015)
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015) Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015)
Verantwortung - Gerechtigkeit - Öffentlichkeit (Call for Papers, DGPuK2015)
 
informatica juridica y derecho de la informatica
informatica juridica y derecho de la informaticainformatica juridica y derecho de la informatica
informatica juridica y derecho de la informatica
 
Consejos para profesores, ppt inteligencia.
Consejos para profesores, ppt inteligencia.Consejos para profesores, ppt inteligencia.
Consejos para profesores, ppt inteligencia.
 
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblick
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein ÜberblickAxel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblick
Axel Wolpert: Computergestütztes Lernen - was geht heute Ein Überblick
 

Semelhante a Shibboleth Single-Sign-On mit TYPO3

Backendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesBackendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesMarcus Schwemer
 
jQuery in TYPO3 nutzen
jQuery in TYPO3 nutzenjQuery in TYPO3 nutzen
jQuery in TYPO3 nutzenAlex Kellner
 
Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3Martin Huber
 
TYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenTYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenAlex Kellner
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimAlex Kellner
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringPeter Kraume
 
Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alex Kellner
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPAmh0708
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftJochen Rau
 
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerkTYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerkdie.agilen GmbH
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerGregor Biswanger
 
Slideshare AutoEncoder
Slideshare AutoEncoderSlideshare AutoEncoder
Slideshare AutoEncoderDatamics
 
Continuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileContinuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileLeanIX GmbH
 

Semelhante a Shibboleth Single-Sign-On mit TYPO3 (20)

Powermail 2.0
Powermail 2.0Powermail 2.0
Powermail 2.0
 
Backendlayout mit FLUID-Templates
Backendlayout mit FLUID-TemplatesBackendlayout mit FLUID-Templates
Backendlayout mit FLUID-Templates
 
jQuery in TYPO3 nutzen
jQuery in TYPO3 nutzenjQuery in TYPO3 nutzen
jQuery in TYPO3 nutzen
 
Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3Responsive Web Design mit TYPO3
Responsive Web Design mit TYPO3
 
TYPO3 Translations
TYPO3 Translations TYPO3 Translations
TYPO3 Translations
 
TYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein WissenTYPO3 Certified Integrator - Teste dein Wissen
TYPO3 Certified Integrator - Teste dein Wissen
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
 
TYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoringTYPO3 Monitoring mit t3monitoring
TYPO3 Monitoring mit t3monitoring
 
Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPA
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
 
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerkTYPO3 CMS 7.1 - Die Neuerungen - pluswerk
TYPO3 CMS 7.1 - Die Neuerungen - pluswerk
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen Hacker
 
Slideshare AutoEncoder
Slideshare AutoEncoderSlideshare AutoEncoder
Slideshare AutoEncoder
 
Hibernate Tuning
Hibernate TuningHibernate Tuning
Hibernate Tuning
 
GWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der PraxisGWT – Google Web Toolkit in der Praxis
GWT – Google Web Toolkit in der Praxis
 
Codesmells
CodesmellsCodesmells
Codesmells
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
 
Continuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn AgileContinuous deployment in LeanIX @ Bonn Agile
Continuous deployment in LeanIX @ Bonn Agile
 

Shibboleth Single-Sign-On mit TYPO3

  • 1. Wir leben TYPO3 Single-Sign-On with TYPO3 – Die Extension „shibboleth“ Wir leben TYPO3 in2code.de
  • 3. Agenda • Single-Sign-On mit Shibboleth • Die Extension „shibboleth“ • Live-Demo • Weitere Entwicklung Wir leben TYPO3 in2code.de
  • 4. Single-Sign-On mit Shibboleth Wir leben TYPO3 in2code.de
  • 5. Komponenten TYPO3 Shibboleth IdP (FE or BE) (Discovery Service) Shibboleth IdP (Identity Provider) Shibboleth IdP (Identity Provider) (Identity Provider) EXT:shibboleth TYPO3 auth services mod_shibb Apache httpd OS with shibd Authentifizierungs- Webserver (Service Server Provider) • Es wird der „native Service Provider“ verwendet Wir leben TYPO3 in2code.de
  • 6. Wir leben TYPO3 in2code.de
  • 7. Umgebungsvariablen • REMOTE_USER wird nicht notwendigerweise benutzt! Wir leben TYPO3 in2code.de
  • 8. Die Extension „shibboleth“ Wir leben TYPO3 in2code.de
  • 9. Installation • Extension installieren • .htaccess anpassen: AuthType shibboleth # ShibRequireSession On require shibboleth Passiver („lazy“) Modus Wir leben TYPO3 in2code.de
  • 10. Konfiguration • Im Extension Manager • Konfigurations- datei für das „Mapping“ Wir leben TYPO3 in2code.de
  • 11. Allg. Konfigurationsparameter • Wie wird der native SP aufgerufen: entityID, handlerURL, Session Initiator, „force SSL“ • Pfad zur Konfigurationsdatei für das Mapping Wir leben TYPO3 in2code.de
  • 12. FE-Konfigurationsparameter • Benutzer-Autoimport (ja/nein) • Page ID für Autoimport • Optional: Application-ID (Shibboleth) Wir leben TYPO3 in2code.de
  • 13. BE-Konfigurationsparameter • Benutzer-Autoimport (ja/nein) • Benutzer deaktiviert importieren (ja/nein) • Shibboleth-Link im Login-Formular aktivieren • Optional: Application-ID (Shibboleth) Wir leben TYPO3 in2code.de
  • 14. Backend-Login-Formular Keine Core-Änderung! (Javascript über Hook) Wir leben TYPO3 in2code.de
  • 15. Struktur der Mapping-Konfig. • TypoScript-Syntax: tx_shibboleth { FE { Zuordnung der User-ID IDMapping { … } Autorisierung userControls { allowUser … Metadaten-Übernahme createUserFieldsMapping … updateUserFieldsMapping … } Metadaten-Updates } BE … Wir leben TYPO3 in2code.de
  • 16. Zuordnung der User-ID Beispiel Umgebungsvariablen BE { IDMapping { Bezug auf Umgebungsvariable (von shibd) shibID = TEXT shibID.field = uid typo3Field = username } Feldname in TYPO3 (meist: username) … } Wir leben TYPO3 in2code.de
  • 17. Selektion erlaubter Benutzer BE { … Jeder erkannte Benutzer wird userControls { zugelassen (Autorisierung) allowUser = TEXT allowUser.value = 1 … } • Flexibilität durch Nutzung des TypoScript- Parsers: Fast beliebige Bedingungen für die Autorisierung können definiert werden Wir leben TYPO3 in2code.de
  • 18. Benutzer-Metadaten BE { … userControls { Metadaten kommen vom … IdP createUserFieldsMapping { realName = COA realName.1 = TEXT realName.1.field = sn realName.3 = TEXT realName.3.field = givenName realName.3.noTrimWrap = |, || } … } } Wir leben TYPO3 in2code.de
  • 20. Die Situation • Es werden >200 TYPO3-Instanzen betreut • Die „Instanz-Eigentümer“ haben keine Admin-Rechte • Die Instanz-Eigentümer pflegen auch die Redakteure • Die Backend-Anmeldung erfolgt über Shibboleth Wir leben TYPO3 in2code.de
  • 21. Extension groupdelegation • Spezielle BE-Benutzer erhalten das Recht, die Gruppenzuordung anderer Benutzer zu editieren • Beschränkt auf die eigenen Gruppen • Auch die Freischaltung/Sperrung der Benutzer wird erlaubt Wir leben TYPO3 in2code.de
  • 22. Live-Demo-Szenario • Neuer Benutzer soll Backend-Zugriff bekommen 1. Anmeldeversuch über Shibboleth  Benutzer wird angelegt, aber gesperrt 2. Admin oder „Sub-Admin“ schaltet frei 3. Erfolgreiche Anmeldung über Shibboleth NICHT klicken! Live-Demo! Wir leben TYPO3 in2code.de
  • 23. Weitere Entwicklung Wir leben TYPO3 in2code.de
  • 24. Weitere Entwicklung • Dokumentation und Veröffentlichung • Embedded Discovery Service? • Single-Logout – Caveats: Benutzer-Erwartung und -Führung • Logout in Load-Balancing-Umgebungen – „Sticky Sessions“? – Shared Process? – Store Session on ODBC-Database? Wir leben TYPO3 in2code.de
  • 25. Vielen Dank Links und Kontakt: http://forge.typo3.org/projects/show/extension-shibboleth http://de.slideshare.net/tschikarski/shibboleth-singlesignon-mit-typo3 mailto:thomas.schikarski@in2code.de Wir leben TYPO3 in2code.de