Metashare

Virtuaalmasin metashare.ut.ee, virtuaalmasina nimi keeleressursside metashare.

Ülevaade

Virtuaalmasina funktsiooniks on META-NETi keeleressursside TÜ võrgustikusõlme rakenduse ja keskkonna metashare käitamine. Keskkonna tööshoidmise, uuenduste ja kirjeldamisega tegeleb Neeme Kahusk (neeme.kahusk@ut.ee).

Tõstetud EKRK serverisse: novembris 2013


SSL Ühenduse seadistamine Metasharele

Metashare serverile SSL sertifikaatide seadmine käib nii, et antud lõik tuleb kopeerida  metashare lighttpd seadistustefaili lõppu.

 

$SERVER["socket"] == ":443" {
     ssl.engine                  = "enable"
     ssl.pemfile                 = "/etc/lighttpd/certs/metashare.pem"
     ssl.ca-file                 = "/etc/lighttpd/certs/chain.pem"
 }

 

Metashare logimise probleemid

Metasharel on probleemid logide pärimisega. Peamine probleem on selles, et päringud teisendavad kuupäeva tekstiks ja seetõttu ei rakendata indekseid.

Probleemsed päringud

SELECT COUNT(*) FROM "stats_querystats" WHERE ("stats_querystats"."lasttime"::text LIKE '2013-03-01%'  AND "stats_querystats"."exectime" < 4163
SELECT AVG("stats_querystats"."exectime") AS "exectime__avg", MIN("stats_querystats"."exectime") AS "exectime__min", MAX("stats_querystats"."exectime") AS "exectime__max" FROM "stats_querystats" WHERE "stats_querystats"."lasttime"::text LIKE '2013-02-11%'

Knihvid SimpleSAMLPHP-ga ühendamisel

Siit saab metashare XML metaandmed:

https://metashare.ut.ee/saml2/metadata/

Konverdi see simplesamlphp federeerimise lehel õigesse formaati ja kirjuta saml20-sp-remote faili metadata kataloogis.

Eemalda expire seaded.

Lisada 
  'AttributeNameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',
    'attributes' =>
  array (
    0 => 'cn',
    1 => 'displayName',
    2 => 'eduPersonAffiliation',
    3 => 'eduPersonPrincipalName',
    4 => 'mail',
    5 => 'schacHomeOrganization',
    6 => 'schacHomeOrganizationType',
    7 => 'sn',
  ),

SP metadata seadistuse lõppu

SSO sisselogimine

Kirjeldus

Nüüd töötab SSO-ga sisse logimine. Kui kasutaja pole sisse loginud, siis on 2 eraldi sisselogimisnuppu: Login (vana metashare enda kasutajate andmebaas) ja SSO Login (suunab EKRK SSO lehele).

Kui kasutaja on sisse loginud, on 2 väljalogimisnuppu: Logout (vana metashare kasutajate jaoks) ja SSO Logout (saadab EKRK SSO logout päringu).

Kui SSO-ga sisse logida, siis on võimalik kasutada ka tavalist Logout nuppu, kuid siis on võimalik sama sessiooni jooksul SSO Login nuppu kasutades ilma paroolita sisse saada. Kui Metashare kasutajana olla sisse logitud, siis SSO Logout nupu kasutamine annab tulemuseks Internal Server Error (500), võimaldades siiski tööd jätkata. SSO kaudu sisselogituna vajutades SSO Logout nuppu logitakse kasutaja SSO teenusest välja (uuesti sisse logimiseks on vaja uuesti valida ühenduspunkt, kasutajanimi ja sisestada parool), kuid avanenud lehel olev tekstiline sisselogimiskoht (Log in again) viitab olematule urlile. Nüüd töötab korralikult.

Vaja nõu

  • Me ei saa kaotada nuppu, kus oleks kirjas "Logout", selle alusel orienteerub Metashare enda metaandmete rehitseja, samuti see jupp, mille abil saab metaandmeid Fedorasse üle kanda (logib automaatselt sisse ja pärast välja).
  • Võibolla võime kaotada ära lihtsalt Login nupu, kuid jätta alles sisselogimise urli (sünkroniseerimiseks ja administreerimiseks) ja jätta nähtavaks ainult SSO Login nupu?
  • Kas me võiksime ära kaotada Register nupu, mis on ette nähtud oma andmete saatmiseks, et saada kasutajakontot?
  • Kui me lähtume sellest, et kasutajad peaksid edaspidi sisenema SSO kaudu, siis me peaksime neid instrueerima, et nad oma SSO kasutajakontodega vanad kontod "üle võtaksid".

Muudetud failid

Metashare ja Djangosaml2 koostööks on muudetud nii Metashare kui djangosaml2 faile.

Metashare installatsioonis muudetud failid

Kaustas

/usr/local/META-SHARE-3.0.1/metashare/

 

failkommentaar
settings.pylogimine, mõned muutujad, saml_settings import
local_settings.pyDEBUG = True, ainult testimiseks
saml_settings.py

SAML spetsiifilised sätted (uus fail)

urls.pySAMLi jaoks vajalikud urlid
attributemapsuus kaust djangosaml2 installatsioonist (cp -r)
ekrk_remote_metadata.xmlIDP metaandmete fail

Kaustas /usr/local/META-SHARE-3.0.1/metashare/templates

failkommentaar
header.htmlSSO Login ja SSO Logout nupud

Djangosaml installatsioonis muudetud failid

Kaustas /usr/local/lib/python2.7/dist-packages/djangosaml2

failkommentaar
backends.pyTäisnime (cn) lahutamine ees- ja perekonnanimeks
  • No labels