Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using Rent_aCar_TravelAgency.Models;
- namespace Rent_aCar_TravelAgency.Helper
- {
- public class Autorizacija : FilterAttribute, IAuthorizationFilter
- {
- private readonly KorisnickeUloge[] _dozvoljeneUloge;
- public Autorizacija(params KorisnickeUloge[] dozvoljeneUloge)
- {
- _dozvoljeneUloge = dozvoljeneUloge;
- }
- public void OnAuthorization(AuthorizationContext filterContext)
- {
- Korisnik k = Autentifikacija.GetLogiraniKorisnik(filterContext.HttpContext);
- if (k == null)
- {
- filterContext.HttpContext.Response.Redirect("/Login");
- return;
- }
- //provjera
- foreach (KorisnickeUloge x in _dozvoljeneUloge)
- {
- if (x == KorisnickeUloge.Zaposlenik && k.Zaposlenik != null)
- return;
- if (x == KorisnickeUloge.Vozac && k.Vozac != null)
- return;
- //if (x == KorisnickeUloge.Administrator && k.Zaposlenik.Administrator == true)
- if (x == KorisnickeUloge.Administrator && k.Zaposlenik.Administrator == true)
- return;
- if (x == KorisnickeUloge.Korisnik && k.Id != 0)
- return;
- }
- //ako funkcija nije prekinuta pomoću "return", onda korisnik nema pravo pistupa pa će se vršiti redirekcija
- //na "/Home/Index"
- filterContext.HttpContext.Response.Redirect("/");
- }
- }
- public enum KorisnickeUloge
- {
- Zaposlenik,
- Vozac,
- Administrator,
- Korisnik
- }
- }
Add Comment
Please, Sign In to add comment