Gelelim bu olayı tek bir kod bloğu ile nasıl yapacağımıza. MVC bize authorize diye bir nimet sunmuş ve bunu istediğimiz gibi editlememize olanak sağlamış.
İlk yapmamız gereken kendimize bir class tanımlamak ve bu classı MVC de AuthorizeAttribute sınıfından türetmek. olacak. Daha sonra bu classımızın içine bize bool değer döndüren bir overried bir method yazıyoruz ve if koşulumuzu burada sağlıyoruz. Duruma göre True yada False döndürerek işlemimizin gerçekleşmesini sağlayacağız ve controller'a kullanıcının erişim hakkının olup olmadığını sağlayacağız.
Kod bloğumuz alt kısımda ki gibi;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| public class UserAuthorize : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { if (httpContext.Request.Cookies[ "osmankurtnet" ] != null ) { return true ; } else { httpContext.Response.Redirect( "/Yonetim/Login/Index" ); return false ; } } } |
1
2
3
4
5
6
7
8
| [UserAuthorize] public class AdminController : Controller { public ActionResult Index() { return View(); } } |
http://www.osmankurt.net/post/MVC-Projelerde-Login-Kontrolu-Yapma-Authorize-Kullanimi.aspx