[ Cortex85 @ 30.03.2012. 08:18 ] @
Trebalo bi da počnem da radim jednu web aplikaciju koristeći MVC 3. Razmišljao sam o sigurnosti i čini mi se da mi je lakše da sam kreiram mali framework koji bih i dalje koristio nego da proširujem postojeći role and membership a koji je za moje potrebe preglomazan. Da li grešim?

Moj framework bi se sastojao od određenog seta tabela gde bih čuvao kredencijale i nekoliko klasa zaduženih za proveru identiteta i njegovo zapisivanje u session cookie. (verovatno bih morao da implementiram i svoje atribute da mi olakšaju posao ili da nađem način da pomoću filtera odredim koji kontroleri zahtevaju da korisnik bude ulogovan - novajlija sam što se MVC-a i web-a tiče tako da bih oko ovoga trebao još da pročitam dokumentaciju).

Da li da se upuštam u ovakav posao ili da iskoristim već postojeće mogućnosti?

[ Dejan Carić @ 30.03.2012. 10:30 ] @
Koji je tačno razlog zbog kog želiš da napraviš role i membership provajdere od nule?

Razlozi protiv:
- Imaš gotovo rešenje koje zahteva 0 kodiranja
- Svi .NET developeri su upoznati sa postojećim API-em. Ne moraju da uče kako se dohvata/čuva korisnik, resetuje password, itd.
- Imaš rešenje koje se dosta dugo nalazi u produkciji na velikom broju sajtova i koje je dobro istestirano
[ Cortex85 @ 30.03.2012. 11:22 ] @
razlozi:
- glomaznost (barem se meni tako čini) MSovog rešenja, jer koliko sam zaključio iz dokumentacije da bih imao korisnike koji pripadaju određenim ulogama moram da implementiram i membership i role provider. Moj framework bi bio integracija jednog i drugog.

- baza se vrti na PostgreSql za koga koliko znam ne postoji MSova implementacija
[ Dejan Carić @ 30.03.2012. 12:22 ] @
Citat:
Cortex85: razlozi:
- glomaznost (barem se meni tako čini) MSovog rešenja, jer koliko sam zaključio iz dokumentacije da bih imao korisnike koji pripadaju određenim ulogama moram da implementiram i membership i role provider.

Kod kreiranja nove web aplikacije sve ti je već podešeno. Eventualno možeš da promeniš konekcioni string i startuješ aspnet_regsql da kreiraš neophodne tabele u bazi.
Kreiranje novih rola i korisnika se radi tako što u Solution Exploreru klikneš na ASP.NET Configuration ikonicu, otvori se novi prozor i u njemu sa par klikova mišem podesiš šta ti treba.



Sve ukupno 5 minuta posla.


Citat:
Cortex85:
- baza se vrti na PostgreSql za koga koliko znam ne postoji MSova implementacija


Nisam radio sa ovom bazom pa ti ne mogu pomoći. MS nudi besplatnu SQL Server Express bazu koja sasvim korektno radi posao.
[ Cortex85 @ 30.03.2012. 12:41 ] @
Pročitao sam to u dokumentaciji, čak ne moram ni da koristim tu dodatnu bazu koju VS smesti u App_Data nego mogu šemu izgenerisati u moju bazu u koju ću smeštati i ostale podatke (ovo rešenje postiji samo za MS SQL i MySQL).

Najverovatnije da ću implementirati njihove Role i Membership providere, napraviti istu strukturu podataka za PG-SQL i iskoristiti njihovu već postojeću infrastrukturu.

Mada ne mogu da se otmem utisku da celi securty sistem vuče korene iz web formsa i da nije nimalo optimizovan za MVC koncept (taj utisak može da proizilazi i iz toga što ne poznajem web dovoljno).
[ pl4stik @ 30.03.2012. 20:57 ] @
Postoji za skoro sve baze

http://nuget.org/packages/Nauck.PostgresSQLProvider

[ Cortex85 @ 31.03.2012. 07:07 ] @
Hvala Dejan Carić i pl4stik ići ću sa MSovim resenjenm samo za PgSql.
[ michaelk @ 31.03.2012. 08:04 ] @
Neznam za taj nuget package (jer kada sam ja pocinjao nije postojao), ali ja sam pre nekih godinu i po dana bez problema implementirao Membership provider za PostgreSQL. Treba ti 3 tabele i 2 klase koje je napravio neki Andri. Klase su port sa MySQL Membership providera. Ako hoces mogu da ti okacim ovde ili ti posaljem mail-om.
[ Cortex85 @ 31.03.2012. 08:40 ] @
Najbolje bi bilo ako možeš da ih okačiš ovde kako bi im i drugi imali pristup. Sigurno će se naći još po neko kome će to zatrebati.
[ michaelk @ 31.03.2012. 09:38 ] @
Evo fajla.
[ Cortex85 @ 02.04.2012. 11:11 ] @
Hvala na biblioteci.