• 11 odgovora
  • 3.629 pregleda
Kontroler i Autorize 07.06.2015. u 12:29 · pre 138 meseci #1
Pozdrav!

Na kontroleru treba da proverim da li je user Autorize:

Code:
  [Authorize]
        public ActionResult Index()
        {
            
            return View();
        }


Ranije sam koristio System.Web.Security.Membership za rad sa userima, ali u ovom slučaju ne ( podaci se čuvaju u Session ).

Da li se može proveriti da li je user [Authorize] i da li se može uopšte podesiti "ručno" ?

Hvala!

Patak
Re: Kontroler i Autorize 07.06.2015. u 13:11 · pre 138 meseci #2
Mislim da moras koristiti Membership (ili mozda ovaj noviji sistem) da bi ti on automatski proveravao da li je user autorizovan.
Ako vec imas svoj sistem autorizacije/autentifikacije, ono sto bi mogao da uradis je da napravis custom membership provider u kojem ces wrap-ovati svoj sistem. Onda ce asp.net proveravati authorize preko njega a on dalje preko tvog sistema.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Kontroler i Autorize 07.06.2015. u 13:25 · pre 138 meseci #3
Pozdrav!

Mislim da ću tako morati...

Hvala puno na pomoći!

Pozdrav!
Re: Kontroler i Autorize 07.06.2015. u 14:31 · pre 138 meseci #4
Ako koristiš custom authentikaciju/autorizaciju, nema potrebe da komplikuješ
sa implementacijom custom membership providera.

Jednostavno, napravi novu klasu koja nasleđuje FilterAttribute
i u njoj implementiraj IAuthorizationFilter interfejs.
Taj atribut posle lepi na kontrolere ili akcije.

http://geekswithblogs.net/bria...-mvc-authorization-filter.aspx
Re: Kontroler i Autorize 07.06.2015. u 20:46 · pre 138 meseci #6
Zanimljivo. Mislio sam da je atribut Authorize samo flag ali zapravo je on taj koji obavlja proveru/filtriranje. Kul
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Kontroler i Autorize 08.06.2015. u 16:55 · pre 138 meseci #7
Pozdrav!

ako može pomoć....

Kada krenem da kreiram klasu

Code:
public class Autorizacija:FilterAttribute,IAuthorizationFilter
  {
      public void OnAuthorization(AuthorizationContext filterContext)
      {
          
      }
  }


Kako da pomoću sesije ( u kojoj se čuva username kada se loguje )
podesim da je autorizovan ?

Ako se to radi drugačije molim za pomoć...

Patak
Re: Kontroler i Autorize 08.06.2015. u 17:17 · pre 138 meseci #8
Kada je ulogovan, ne treba ništa da radiš, a kada nije, onda setuješ Context.Result na recimo redirekciju.
Evo ti Copy/Paste jedno parče mog koda koje ilustruje to:
Code:

            // Check if account is logged
            var Account = // Read from session
            if (Account != null) return; // User is logged, do nothing

            if (LoginRedirect)
            {
                // Redirect to login
                Context.Result = new RedirectToRouteResult(...);
            }
            else
            {
                // Redirect to not authorized
                Context.Result = new RedirectToRouteResult(...);
            }
Re: Kontroler i Autorize 08.06.2015. u 17:32 · pre 138 meseci #10
Pozdrav!

kada pokušam da dodelim vrednost iz session u variablu

var Account = Session["username"]; ---- prijavi grešku The name 'Session' does not exist in the current context

Molim za pomoć!

Hvala!
Re: Kontroler i Autorize 08.06.2015. u 17:42 · pre 138 meseci #11
HttpContext.Current.Session, tako nekako...
Re: Kontroler i Autorize 08.06.2015. u 17:46 · pre 138 meseci #12
Pozdrav!

Svaka čast!!

Hvala puno!

Sve radi odlično!

Pozdrav!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme