Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
apache ja mediawiki yhdistetty autentikointi
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Finnish
View previous topic :: View next topic  
Author Message
Obi-Lan
Apprentice
Apprentice


Joined: 21 Jan 2005
Posts: 230
Location: Riihimäki

PostPosted: Wed Jan 10, 2007 11:40 am    Post subject: apache ja mediawiki yhdistetty autentikointi Reply with quote

Olen rakentamassa duuniin pientä mediawiki palvelinta (gentoolla tietty) firman sisäiseen käyttöön ja tulin siihen tulokseen, jotta sivut olisivat varmasti suojattu ulkopuolisilta, pitää käyttää apachen autentikointia. BasicAuth yksinkertaisuuden vuoksi. Tähän ajattelin lisäksi käyttää pwauth lisämodulia, joka sisältäis mm. PAM modulin.

Myös mediawikiin on tehty lisäkoodi pwauth modulin käytölle.

Mutta tällä systeemillä ilmeisesti joutuu kuitenkin syöttämään käyttäjätunnuksen ja salasanan kuitenkin kaksi kertaa? Kellään ehdotuksia, miten tuon voisi tehdä niin, että syöttäessä käyttäjätunnuksen ja salasanan kerran kirjaisi systeemi käyttäjän suoraan mediawikiin omilla tunnuksilla?
Back to top
View user's profile Send private message
jarski
n00b
n00b


Joined: 11 Apr 2005
Posts: 3
Location: Oulu, Finland

PostPosted: Sun Apr 29, 2007 1:54 pm    Post subject: Reply with quote

Ratkaisin samanmoisen ongelman erään toisen ohjelman (PHP) kohdalla seuraavasti.

Apachessa sivut on suojattu BasicAuth:lla eli ohjelman käyttö vaatii tunnuksen ja salasanan syöttämisen.

Itse ohjelma vaati erillisen autentikaation eli käyttäjän piti syöttää tunnus ja salasana toistamiseen ja nämä tunnukset eivät tietenkään olleet samat kuin BasicAuth:ssa käytetyt. Ongelma oli siis sama kuin Obi-Lan:lla; käyttäjä joutui autentikoitumaan kahdesti.

Ratkaisu ongelmaan löytyi siitä, että apachen authin jälkeen HTTP requestissa kulki autentikoituneen käyttäjän tiedot, jotka voitiin lukea PHP:lla (http://fi.php.net/features.http-auth). Eli ohjelman login-sivua voitaisiin muuttaa siten, että se ottaa requestista autentikoituneen käyttäjän tunnuksen ja kirjaa käyttäjän sisään ohjelmaan automaattisesti.

Automaattisen kirjautumisen toteutin luomalla tiedoston, jossa on HTTP BasicAuth tunnuksia vastaavat tunnus/salasana parit itse ohjelmaan (matti -> matti@foobar.com, salasana jne). Tämän jälkeen puukotin login-sivua seuraavasti:

Code:

when request.method is POST then
  doLogin(post_params[user], post_params[password]

...muuttui muotoon...

auth_user = AUTH_USER
login, password = auth_user_to_login_and_password_map[auth_user]
doLogin(login, password)


Lisäksi generoin kaikille käyttäjille satunnaiset salasanat ja poistin ohjelmasta mahdollisuuden muuttaa oma salasana. Tein myös toisen login-sivun, joka kysyy pelkästään salasanaa ja koittaa tämän jälkeen kirjautua ylläpitokäyttäjäksi ko. salasanalla. Tämä siksi, että voin itse kirjautua admin-tunnareilla.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Finnish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum