HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Anonymous felhasználók azonosítása


Példaprogram letöltése

10210 bájt

Mostani példánkban olyan megoldást keresünk ASP.NET-es alkalmazásainkhoz, melynek segítségével a felhasználókat akkor is tudjuk azonosítani, ha nem adnak meg felhasználói nevet és jelszót.

Mellékelt példa megnyitása előtt szükséges egy IdentifyUser nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
A megvalósításhoz cookie-kat használunk, melybe eltárolunk egy egyedi azonosítót, mely a felhasználó gépét egyértelműen azonosítja. Ennek a megvalósításnak vannak hátrányai, például egy régi felhasználót csak addig tudunk azonosítani, amíg a cookie a gépén van. További hátrány, hogy ezzel a módszerrel valójában a felhasználó számítógépe kerül azonosításra, nem maga a személy. Ezekért cserébe viszont olyan rendszert kapunk, melynél nem szükséges a felhasználókat beléptetni felhasználói névvel, jelszóval, hanem az azonosításuk automatikusan megtörténik. Ez a módszer esetleg kombinálható egy szokásos felhasználói névvel, jelszóval történő azonosítással, így azok akik bejelentkeznek, egyértelműen azonosíthatók, akik nem jelentkeznek be, csak használják a web oldalainkat, azokról is kapunk némi információt.
A lap betöltésénél ellenőrizzük, hogy a kéréshez identifyuser néven tartozik-e cookie. Amennyiben igen, akkor már egy régi felhasználóról van szó, így annak egyedi azonosítóját az s változóba kiolvashatjuk.
    private void Page_Load(object sender, System.EventArgs e)
    {
      string s = "";
      string c = "identifyuser";
      if (Request.Cookies[c] != null)
      {
        s = Request.Cookies[c].Value;
        Label2.Text = "régi felhasználó";
      }
Amennyiben a kéréshez nem tartozik cookie, akkor új felhasználóval van dolgunk. Ekkor létre kell hoznunk számára egy új azonosítót. Ehhez az azonosítóhoz a DateTime osztály Now property-jének Ticks property-jét használjuk fel. Ez egy olyan 64 bites szám, mely 100 ns-os időegységekben számlálja az 1. év január 1-jétől eltelt időt. Így minden felhasználónk egy egyedi számot kap, melyet hexadecimálissá alakítunk és sztringként tároljuk a cookie-ben, melynek lejárati idejét a DateTime osztály lehető legnagyobb értékére állítjuk be.
      else
      {
        s = DateTime.Now.Ticks.ToString("X");
        HttpCookie cookie = new HttpCookie(c, s);
        cookie.Expires = DateTime.MaxValue;
        Response.Cookies.Add(cookie);
        Label2.Text = "új felhasználó";
      }                    
      Label1.Text = s;
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 573. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |