Den 15:e Mars anordnar SWAMID en workshop i Stockholm runt frågeställningar kring att använda Shibboleth som en SP framför en annan applikation i SWAMID.

Deltagande i workshopen är kostnadsfritt och lunch ingår.
*Anmälan görs på följande foodle: https://foodl.org/foodle/Anmalan-till-SWAMIDs-workshop-Shibboleth-som-SP-4d5e4

Passa på att ställa alla frågor du har om konfigurering av Shibboleth, om SWAMID, mm!

Tid: 10-16, hämtlunch på plats ca 12-13
Plats: Tulegatan 11, NORDUnets kontor samt vi kommer på "best effort" sända workshopen via Adobe Connect Pro på adressen: https://connect.sunet.se/swami
Förkunskaper: Konfigurerat Shibboleth som SP, tag med egen laptop, gärna med ett eget projekt

Agenda:

  • Kort presentation av deltagarna
  • Kort om SWAMID, både organisation och teknik
  • Kort om Shibboleth
  • Shibboleth SP (Apache-modulen). Vi går igenom...
    • hur den installerar och konfigurerar i vanliga fall
    • hur man använder den i Apache
    • hur applikationer får tillgång till attribut
  • Hur genomförs ovan i
    • Django/Python
    • PHP/LAMP
    • .NET
    • Java
  • Felsökning
    Vilka loggfiler skall vi leta i och vad skall man leta efter?
    Hur kan man använda sp.swamid.se för att jämföra med sin SP?
  • Case study - exempel på genomförda projekt eller om DU har ett projekt/fråga tar vi det här, i mån av tid!
  • Avslut och avrundning

Välkomna!

3 Comments

  1. Utkast till detaljerat program:

    09.30-10.00 Kaffe, e-post, få eduroam att snurra
    10:00-10:05 Icke-tid, e-post, internet
    10:05-10:15 Kort om SWAMID - Organisation, styrgrupp, operations@SWAMID.SE, policy (VN)
    10:15-10:30 Teknik i SWAMID - Metadata och DS (LJ, JB)
    10:30-11:00 Intro till Shibboleth SP (LJ, JB)
    11:00-12:00 Genomgång av sp.swamid.se - SWAMIDs Hello World (LJ, JB)
     -- attribut-release 
     -- session initiators
     -- läsa loggar
     -- vanliga fel
    12:00-13:00 Hämtlunch (VN)
    13:00-15:00 Genomgång av hur du flyttar attribut från Shibb till olika applikationer skrivna i olika språk, Java, PHP, python, .NET (IIS) (PHP - Paul, Kau?, Jon, KI?, python JB, Java - SU, .NET SU)
    15:00-15:15 Fika (Fruktkorg, gräddbulle)
    15:15-16.00 Konkreta exempel på implementationer i språken ovan. Tag gärna med ett eget exempel eller fråga! (Alla)
    16:00 - ?? Fri avslutning, möjlighet till en pilsner och allmäna frågor för de som önskar stanna en stund. (Alla)

  2. Dokumentation från dagen kommer att postas här på wikin. Initialt läggs det som kommentarer, så samlar vi upp det efter dagen.

    saml-admins maillistan är SWAMIDs "announce-list" kan prenumereras på från: http://segate.sunet.se/cgi-bin/wa?A0=saml-admins

    För att se historiken i SWAMIDs metadata se: http://md-master.swamid.se/ (GIT-repo)

    Skall vi lista de 5 vanligaste felmeddelandena i wikin?

    IDM system e-postlista: http://listserv.educause.edu/cgi-bin/wa.exe?A0=IDM

    Etapp 1, ca 09.45 till lunch https://connect.sunet.se/p60899522/

    Efter lunch, två delar: https://connect.sunet.se/p98384271/ https://connect.sunet.se/p41677600/

  3. Kommentar ang grails från Ilinca Vintila:

    Grails är ett mvc-ramverk som bygger på Groovy och har en JVM och Spring
    i botten http://www.grails.org/. I grails finns ett koncept som heter
    Filter. Filter kan användas för att utföra operationer innan eller efter
    en request skickas till controllrar. Hos oss använder vi filter för att
    försäkra oss om att vi har en inloggad användare. Koden ser ut som följer

    SecurityFilter.groovy

    def filters =
    {
    remoteUserCheck(controller:'', action:'') {
    before =
    {
    if(request.getRemoteUser() == null)

    Unknown macro: { render getMsg("sukattool.userNotLoggedIn") return false }

    }
    }

    String getMsg(String msg) {
    try

    Unknown macro: { return messageSource.getMessage(msg,null,msg,LocaleContextHolder.getLocale()) }

    catch (Exception e)

    Unknown macro: { return "Authorization failed. Could not get localized message, cause}

    }
    }

    i klassen SecurityFilter definerar man upp ett antal filter. I vårt fall
    så vill vi att den här kontrollen ska ske för alla controllrar och alla
    actions, därför matchar vi controllrar och actions med med *. Vi anger
    också att kodsnutten ska köras före anrop till controllrar. Därefter
    kollar vi om vi har en remoteUser. Om vi inte har någon så rendrerar vi
    ett internationaliserat felmeddelande. Man kan också tänka sig att man
    redirectar till en login-sida istället då skulle det se ut som följer.
    redirect(controller:login, action:login)

    Med vänliga hälsningar
    Ilinca VIntila
    Utvecklare, Avdelningen för IT och Media
    Stockholms Universitet