[ SergioSuperStar @ 02.11.2006. 10:20 ] @
Ideja je sledeća:
Napraviti okruženje sa serverima (recimo exchange i share point portal service).
U takvom okruženju naravno imam Active Directory. Onda sve to okačim negde na Internet sa
dobrim (exstra) link-om i omogućim user-ima da se loguju na webmail, portal-e, itd ali tako da se
kroz neku asp.net stranicu loguju samo jednom i da posle koriste iste kredencijale za sve servise.

Želeo bih da napravimo malu raspravu oko arhitekture ovakvog sistema. Recimo prvo što mi pada
na pamet je sledeće:

- Napravim asp.net aplikaciju koja radi na https protokolu i ima samo jednu login stranicu.
- Omogućim anonimni pristup toj aplikaciji koja ima samo jednu web stranicu: Login.aspx
- Od user-a uzmem podatke (domainname\username i password) i onda to lepo proverim u Active Directory-u
- Ako je sve ok napravim odgovarajući kredencijal, zakačim ga na korisničku sesiju (thread) i to pustim kroz IIS
( <identity impersonate="true"/> )
- Dalje je svaka redirekcija autentifikovana, a posle i autorizovana zavisno od servisa koji koristi.

Sad možda ovaj pristup i nije tako loš, ali verujem da se ovde stvari komplikuju, komplikuju, komplikuju,... :-).

Da li neko ima kakvu bolju ideju ili zna da ovo neće da "šljaka" ?
Ako je neko imao istu problematiku bilo bi dobro da napiše neka svoja iskustva.

[ Dejan Vesic @ 02.11.2006. 11:36 ] @
Prosto koristi Windows Authentication i zaboravi sve ostalo.

Domenski korisnici će se logovati samo jednom (IE / FF, Opera ne podržava ovu vrstu autentikacije) i to je to.
[ SergioSuperStar @ 02.11.2006. 15:28 ] @
Hvala na odgovoru, mislim da sam bio malo nejasan.
Problem je sledeci:

-Svi korisnici moraju imati jednu ulaznu tacku u sistem (asp.net aplikacija).
-Na tome gate-u mora postojati custom login forma preko koje ce korisnik uneti svoje kredencijale.
-Kako forma mora imati custom look and feel resenje koje samo ukljucuje windows autentifikaciju otpada.

Dakle, potrebno je dozvoliti anonimni pristup toj formi i traziti informacije od korisnika(ovde zbog sigurnosti mora ici SSL).
Kada korisnik uradi submit, informacije
proveriti sa ActiveDirectory-jem. Ukoliko su kredencijali korisnika dobri, izdati mu tiket (napraviti odgovarajuci
WindowsIdentity objekat), i zalepiti ga na njegov request. Nisam bas siguran kako se pravi WindowsIdentity objekat na
osnovu string vrednosti (domainname\user; password) ali ne bi trebalo da je problem (ako je neko vec radio nesto
slicno bilo bi lepo da napise ...)
Posle toga request korisnika sa odgovarajucim IIdentity-jem redirect-ovati na druge website-ove koji koriste
windows authentifikaciju.

Prva stvar, ovo sa izdavanjem tiketa ce raditi samo na IE, sto i nije prevelik problem (ako neko ima neku drugu informaciju neka se javi).
Drugo, nisam siguran da WindowsIdentity moze proci do drugog IIS-a?! (Cak ni sa impersonifikacijom kroz web.config)