Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Käyttäjäautentikoinnin toteutus #13

Open
Pena86 opened this issue Nov 9, 2017 · 3 comments
Open

Käyttäjäautentikoinnin toteutus #13

Pena86 opened this issue Nov 9, 2017 · 3 comments

Comments

@Pena86
Copy link

Pena86 commented Nov 9, 2017

Onko ajatusta miten järjestelmään olisi hyvä toteuttaa käyttäjäautentikointi? Olisiko hyvä asia, että palvelimen voisi laittaa julkiseen nettiin ja syöttää tuloksia etänä, mahdollisesti jopa rastimiesten toimesta? Nykyiset sivut näyttävät aivan käytettäviä myös moderneilla mobiililaitteilla. Millaisia käyttäjätasoja järjestelmään pitäisi luoda ja pitäisikö niiden olla kisakohtaisia?

@ZeiP
Copy link
Member

ZeiP commented May 16, 2019

Tästä on olemassa parikin haaraa, joita joku on aikoinaan työstänyt: https://github.com/partio-scout/kipa/tree/autentikointi ja https://github.com/partio-scout/kipa/tree/userauth

Olen itse toteuttanut useammassa kisassa käyttäjäautentikoinnin avulla tulosten syöttöä rasteilta. Itselläni jako on ollut seuraavat:

  • Pääkäyttäjätunnus, jolla pääsee koko Kipa-järjestelmään ja kaikkiin kisoihin (sekä mm. luomaan uusia)
  • Kilpailun pääkäyttäjätunnus, jota on käytetty tulostoimistossa. Tällä pääsee kahden kilpailun (testikilpailu ja varsinainen kisa) tehtävien määrittelyyn sekä kaikkin muihin toimintoihin.
  • Kisatehtäväkohtaiset käyttäjätunnukset. Käytännössä nämä ovat olleet itselläni rastikohtaisia, eli samalle käyttäjätunnukselle pitäisi olla määriteltävissä oikeus useamman tehtävän syöttämiseen.
  • Lisäksi on näppärää voida silti avata tulosnäkymät julkisiksi, jolloin ne voi julkaista vaikka kisan sivustolla.

Tämän kaltainen viritys on toteutettavissa Nginx:n basic-autentikoinnilla. Olen luonut tunnukset Python-skriptillä, jonka tulokset sisällytetään Nginx:n konffiin – ei mikään kaunis ratkaisu, mutta toimii. Lisäsin tämän skriptin nyt myös jakelun scripts-hakemistoon: https://github.com/partio-scout/kipa/blob/master/scripts/generate_passwords.py

@ZeiP
Copy link
Member

ZeiP commented Aug 16, 2022

Katselin vähän Kipan koodeja tuossa eilen läpi ja nuo vanhat haarat on mergetty mukaan. Vaikuttaisi oikeastaan siltä, että käyttäjäautentikaation pitäisi jo toimia, kun vaan lisää sopivat tietokantataulut mukaan – valitettavasti en vielä onnistunut tässä.

@ZeiP
Copy link
Member

ZeiP commented Aug 16, 2022

Itse asiassa näemmä tietokantataulut ovatkin mukana. Tuossa Kipan mukana tulevassa oletustietokannassa on joku testitunnus jonka salasana on tuntematon, mutta manage.py createsuperuser -komennolla saa luotua uuden tunnuksen. Käytännössä Kipassa näemmä kuitenkin tällä hetkellä on toteutettu ainoastaan kirjautuminen eikä käyttöoikeuksia tarkisteta – eli seuraavaksi pitäisi lisätä kullekin näkymälle permission_required-decorator ja määrittää käyttöoikeustasot ja toteuttaa käyttäjien hallinta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants