Meeskond "näljased"

From ICO wiki
Revision as of 01:52, 16 May 2010 by Jhannus (talk | contribs)
Jump to navigationJump to search

kokkuvõte meie tööst (täpsem kirjeldus kõige kohta on olemas meie blogis):

1. XML-i tegime menüü kohta. XSLT faile on kaks: üks teeb XML-i HTML-i ning teine vahetab elementide ja atribuutide kohtad. XML faili kohta on olemas ka kirjeldav schema. Raskeimaks osaks oli elementidest atribuutide tegemine, asi küll toimis, kuid vormistus oli kole ning auklik. Schema vajas ka veidi harjumist, kuid kui asi käppa sai, siis läks imelihtsaks.

2. Teenuseks on menüü. Võimalused alajaotuste kaupa:

  • Kasutajagrupid:Hetkel on 3 kasutajagruppi: admin (saab teha kõike), müüja (saab teha kõike peale kasutajate ja kasutajagruppide loomise) ning tavakasutajad. On olemas eraldi funktsioon ka kasutajagruppide loomiseks. Iga meetodi käivitamisel kontrollitakse kasutajaõigusi. Ühel kasutajal saab olla mitu kasutajagruppi.
  • Kasutajad. Kasutajate loomiseks on 2 funktsiooni: üks tavakasutajate tegemiseks, mis ei eelda sisselogimist ning teine, mida saab teostada vaid administraator (ja lisada müüjaid või teisi administraatoreid). Kasutajate loomisel kontrollitakse seda, kas kasutajanimi on juba kasutusel. Kasutaja id ning roll sisestatakse ka tabelisse kasutajaRollis, mis näitab kasutajatel olevaid rolle. Kasutajate kustutamine käib otse andmebaasist. Kasutaja loomisel salvestatakse andmebaasi kasutaja parool hashitud kujul (algoritmiks sha1)
  • Tooted. Kasutajatel (hetkel müüjal) on võimalus lisada ja kustutada tooteid toodete kategooriaid, hindu jms.
  • Sessioonid. Kasutaja edukal sisselogimisel luuakse unikaalne juhuslik sessiooni võti, mille olemasolu kontrollitakse iga sisselogimist eeldava meetodi käivitamisel. Session_key salvestatakse andmebaasis vastavas väljas. Eraldi on funktsioonid sessiooni olemasolu kontrollimiseks ning uuendamiseks. Hetkel on timeoudiks 10 minutit. Sessiooni kehtivust kontrollitakse ka kasutajaõiguste kontrollimisel.
  • Logimine. Võrreldakse sisestatud kasjutajanime ning sisestatud parooli hashi andmebaasis olevatega. Kui need ühtivad, siis sisselogimine on edukas ning luuakse unikaalne session key, mis salvestatakse andmebaasi. Sisselogimine ning sessiooni olemasolu on eelduseks meetodite käivitamiseks. Kui sessioon aegub, siis toimub kasutaja väljalogimine. Väljalogimisfunktsioon kirjutab üle sessiooni aegumise aja, pannes selleks hetkelise kellaaja.

Lisaks on veel hunnik abifunktsioone, näiteks parooli hashimine, väärtuste tagastamine jms.

Klient on kirjutatud WPF-is ning hetkel on võimalik kuvada tooteid, kasutajaid, gruppe ning kasutajagruppe.


3. API-iks tegi Jürgen Flickri API, mis võimaldab otsida kasutajad emaili järgi, otsida suvalisi pilte, uploadida pilte ja vaadata oma pildisette. Rakendusel on olemas ka oma installer.