...
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 ainultSSO 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/
fail | kommentaar |
---|---|
settings.py | logimine, mõned muutujad, saml_settings import |
local_settings.py | DEBUG = True , ainult testimiseks |
saml_settings.py | SAML spetsiifilised sätted (uus fail) |
urls.py | SAMLi jaoks vajalikud urlid |
attributemaps | uus kaust djangosaml2 installatsioonist (cp -r ) |
ekrk_remote_metadata.xml | IDP metaandmete fail |
Kaustas /usr/local/META-SHARE-3.0.1/metashare/templates
fail | kommentaar |
---|---|
header.html | SSO Login ja SSO Logout nupud |
Djangosaml installatsioonis muudetud failid
Kaustas /usr/local/lib/python2.7/dist-packages/djangosaml2
fail | kommentaar |
---|---|
backends.py | Täisnime (cn) lahutamine ees- ja perekonnanimeks |