Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da resim 2 logovanja

[es] :: .NET :: ASP.NET :: kako da resim 2 logovanja

[ Pregleda: 2389 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nenadvr
bgd

Član broj: 33283
Poruke: 144
93.87.216.*



Profil

icon kako da resim 2 logovanja14.11.2009. u 17:11 - pre 174 meseci
Pravim asp.net sajt u kome mi treba 2 nacina logovanja, npr. administratori i korisnici. Drugacija mi je tabela u bazi za jedne i za druge i drugaciji je upit prilikom logovanja. Kako se to resava? Znam da ne mogu da stavim 2 <forms loginUrl="nekastrana.aspx"> taga u <authentication> tagu u web.config fajlu, a to bi mi bas trebalo
dobar dan
 
Odgovor na temu

pl4stik
Senior .NET programmer/Consultant
oDesk
NI na nebu NI na zemlji

Član broj: 173596
Poruke: 715
91.150.118.*

Sajt: xx-auth.com.azhar.arvixe...


+31 Profil

icon Re: kako da resim 2 logovanja15.11.2009. u 10:39 - pre 174 meseci
Jesi vido Membership provider:

http://www.asp.net/learn/security-videos/

Citat:
nenadvr: ... Drugacija mi je tabela u bazi za jedne i za druge i drugaciji je upit prilikom logovanja. Kako se to resava?...


Code:
     
   if (User.IsInRole("admin"))
        {
            //ako je u roli admin
        }
        else if (User.IsInRole("user"))
        {
            //ako je u roli admin
        }




Citat:
nenadvr: ... Znam da ne mogu da stavim 2 <forms loginUrl="nekastrana.aspx"> taga u <authentication> tagu u web.config fajlu, a to bi mi bas trebalo


Ovo bas nisam razumeo, jel hoces regirekciju u odnosu na rolu ?
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: kako da resim 2 logovanja15.11.2009. u 15:06 - pre 174 meseci
Znam za ovaj problem, imao sam slican (morao sam da izmesam dve user baze). Moraces da napravis svoje membership i role provider za ovo i da ih registrujes u config fajlu. Onda u provajderu ispitas i jedan i drugi izvor i na osnovu toga uradis authentikaciju i definisise role. Nemoj se plasiti ovoga, ako je baza usera readonly imas dva ili tri metoda da implementiras i posle se sve to lepo uklopi sa asp.net security-em.

Google: "writing asp.net membership provider"





Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

nenadvr
bgd

Član broj: 33283
Poruke: 144
93.87.216.*



Profil

icon Re: kako da resim 2 logovanja15.11.2009. u 18:59 - pre 174 meseci
Korisnika sam i napravio da se loguje preko tog membershipa-login kontrole i provera njegove unete podatke prilikom logovanja u aspnet_users tabeli. Ali sam mislio da cuvam podatke za administratora u drugoj tabeli i on nema takvu autentikaciju preko username i passworda nego neke druge podatke sto cini mi se znaci da moram rucno da ga ulogujem ako ne mislim da pisem neki kastom membership provider sto bas mi i nije namera. E sad zato mi je i trebala dvostruka redirekcija jer ako bi neko kliknuo na link za stranicu za administratora ( a nije autorizovan) onda necu da mi se preusmeri na stranicu "default" za logovanje korisnika nego za logovanje admina. To bi, cini mi se mogao da postignem kad bi u page_load metodu stranice za logovanje proveravao svaki put odakle je link stigao pa ako je sa stranice za admine onda da ga preusmerim na stranicu za njihovo logovanje.
Samo kako to da ocitam to nemam pojma?
Zato mi i ne pase kod:

if (User.IsInRole("admin"))
{
//ako je u roli admin
}
else if (User.IsInRole("user"))
{
//ako je u roli admin
}
jer to znaci da su vec ulogivani a ja ih proveravam u kojoj su roli, zar ne?

Hvala na odgovorima!
dobar dan
 
Odgovor na temu

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.static.isp.telekom.rs.



Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 07:18 - pre 174 meseci
Izvini ali nisi jasan "To bi, cini mi se mogao da postignem kad bi u page_load metodu stranice za logovanje proveravao svaki put odakle je link stigao pa ako je sa stranice za admine onda da ga preusmerim na stranicu za njihovo logovanje. ":
Kako znas u ovom trenutku da je iz grupe admin. Znaci mora da imas dve stranice ili dva linka, jedan/u za admin logovanje a drugi/u za user logovanje, pa kad je tako onda imas resen problem, usmeri ih na odgovarajucu stranicu, ili ako imas u meniju moras da imas dve stavke, drugacije nije moguce nikako, jer ti u trenutku kad nisu logovani ne znas u koju rolu korisnik zeli da se loguje.
Malo si kontradiktoran, ali mislim da je scenario sledeci:

Home->[izbor role](link,strana.meni) user = anonimous ->[admin] -> [admin login]
->[user] -> [user login]

Kad se logujes ne znam sta nameravas dalje?
 
Odgovor na temu

pl4stik
Senior .NET programmer/Consultant
oDesk
NI na nebu NI na zemlji

Član broj: 173596
Poruke: 715
*.telenor.co.yu.

Sajt: xx-auth.com.azhar.arvixe...


+31 Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 07:39 - pre 174 meseci
Citat:
nenadvr: ... E sad zato mi je i trebala dvostruka redirekcija jer ako bi neko kliknuo na link za stranicu za administratora ( a nije autorizovan) onda necu da mi se preusmeri na stranicu "default" za logovanje korisnika nego za logovanje admina...


Meni ovde nije jasno sta znaci autorizovan dali dali je uopste logovan ili u kojoj je roli?

A strana sa koje je neko doso:

Code:

    protected void Page_Load(object sender, EventArgs e)
    {
        string pp = Request.UrlReferrer.ToString();
        if (pp == "www.mojastrana.com/strana1.aspx")
        {
            //redirekt
        }

    }

To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
 
Odgovor na temu

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.static.isp.telekom.rs.



Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 10:17 - pre 174 meseci
Prvo kada pristupis home stranici ti si anonymous user. Ovim userima moze biti zabranjen pristup
kroz web.config fajl, pa bi te sam membership manager usmerio na login stranicu i odmah bi
morao da se logujes.
Drugo kad pristupis home stranici ti nisi pridodat nikakvoj roli, tek kad se logujes ti dobijas
odredjena prava, tj postajes autorizovan korisnik.
Nije mi jasno zasto zelis dve login stranice, kad se i obican korisnik i administrator mogu
logovati jednom stranicom, potrebno je da definises dve razlicite role, a kroz menu ili na neki drugi nacin
mozes upravljati pristupima odredjenim podacima, probano i odlicno funkcionise.
Ali ako ipak zelis da napravis dve login stranice tada napravi UserLogin.aspx za obicnog korisnika i
AdminLogin.aspx za administratora, pazi obe stranice moraju da ti budu na rutu sajta jer
im anonymous ne moze pristupiti. na Home stranici napravi dva linka AdminLogin u ciji ces URL
uneti ~/Adminlogin.aspx i UserLogin gde je url ~/UserLogin.aspx, ne vidim problem da se ovo ne moze
i zasto sebi koplikujes zivot.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 10:25 - pre 174 meseci
Hoce dve strane zato sto misli da mu je to resenje jer mu se useri nalaze u dva razlicita izvora. Misli da moze to da resi kroz config fajl i dve login strane sa fabrickim membership providerom a ne moze.

nenadvr, imas dve opcije:

1. Tvoj custom membership provider (preporucujem) koji uopste nije tako tezak za pravljenje kao sto ti mislis a kad ga naprvais ostatak asp.net secuity-a moze da ga koristi transaprentno (tj mozes da imas jednu login formu koja ce mocui da uloguje i korisnika i admina).
2. Da skroz izbacis membership provider, da ukljucis forms authentication i da sam izdajes FormsAuthentication tikete kao sto se nekad radilo u ASP.NET 1.1. Em sto je ovo zastarelo em taj isti kod koji moras da napises da proveris oba izvora je urpavo kod koji treba da ubacis u custom membership provajder takoda nisi nista ustedeo na trudu i vremenu.

Fabricki membership provider ne moze da se namesti da trazi korisnike u dva razlicita izvora niti mozes imati vise od jednog default membership provajdera.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

nenadvr
bgd

Član broj: 33283
Poruke: 144
93.87.216.*



Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 11:40 - pre 174 meseci
sparc: "jer ti u trenutku kad nisu logovani ne znas u koju rolu korisnik zeli da se loguje."

U config fajlu postoji <authentication><forms loginUrl="UserLogin.aspx"/> koja vazi za sve
Ja ne znam u koju rolu hoce da se uloguje ali sam hteo da ako neko pokusa da otvori stranu za admina (npr. Admin.aspx) on ce da ode ne UserLogin.aspx, a ja bi da ga preusmerim na logovanje admina (AdminLogin.aspx), i zato mi je trebalo da ocitam u Page_Load strane UserLogin.aspx ( ili nekako drugacije) sa koje stranice je dosao link, ako je sa Admin.aspx onda da ide na AdminLogin.aspx.

Medjutim ako podusavam da pomocu "Request.UrlReferrer.ToString();" da provalim odakle je dosao to nije to jer, ako neko klikne na link Admin.aspx a nije autorizivan onda je on automatski preusmeren na UserLogin.aspx, uopste nije ni bio na strani Admin.aspx, nego mi ovaj prethodni kod pokazuje stranu na kojoj je bio pre pokusaja da udje na Admin.aspx

Ali da ne komplikujem suvise, odradicu vec nesto kako je savetovao sparc, da pojednostavim malo. Hvala na odgovorima
dobar dan
 
Odgovor na temu

pl4stik
Senior .NET programmer/Consultant
oDesk
NI na nebu NI na zemlji

Član broj: 173596
Poruke: 715
*.telenor.co.yu.

Sajt: xx-auth.com.azhar.arvixe...


+31 Profil

icon Re: kako da resim 2 logovanja16.11.2009. u 12:45 - pre 174 meseci
Pa tako kazi,

Citat:
nenadvr: U config fajlu postoji <authentication><forms loginUrl="UserLogin.aspx"/> koja vazi za sve
Ja ne znam u koju rolu hoce da se uloguje ali sam hteo da ako neko pokusa da otvori stranu za admina (npr. Admin.aspx) on ce da ode ne UserLogin.aspx, a ja bi da ga preusmerim na logovanje admina (AdminLogin.aspx), ...


U "strani za admina" (Admin.aspx)

Code:
   
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!User.Identity.IsAuthenticated)
        {
            //redirekcija na AdminLogin.aspx
        }
        if (!User.IsInRole("admin"))
        {
            //redirekcija na AdminLogin.aspx
        }
    }

a na AdminLogin.aspx stavish jedan login i definises DestinationPageUrl="~/Admin.aspx".

Happy coding





To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: kako da resim 2 logovanja

[ Pregleda: 2389 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.