Forum
Merhabalar ÇözümPark ve Ekibi,
Üzerinde Çalıştığım Bir MVC Projesinde Controller Tabanlı Rol İşlemi Uygulamaktayım,
Yalnız MVC Roller Üzerinde Kişiye Özel Belirttiğim Yetki Kodu ( Rol ) İle İlgili Controller ve View Görüntüleyerek İşlem Yapmaktadır,
Global.asax.cs GlobalFilters.Filters.Add(new AuthorizeAttribute());
Giris Controller var YetkiBilgisi = DB.YetkiIslemleri.Where(X => X.KayitNo == GirisIslemi.YetkiIslemleriKayitNo).FirstOrDefault(); FormsAuthentication.SetAuthCookie(GirisIslemi.KayitNo.ToString(), false);
public override string[] GetRolesForUser(string KayitNo) { BTMEntities DB = new BTMEntities(); int KN = Convert.ToInt32(KayitNo); var YetkiBilgisi = DB.YetkiIslemleri.Where(X => X.KullaniciIslemleriKayitNo == KN).SingleOrDefault(); return new string[] { YetkiBilgisi.IslemTanimi.ToString() }; }
Roller Yapısında Bir Kişinin Sadece Bir Adet IslemTanımı Yetkisi Bulunmaktadır,
Burada Oluşturmak İstediğim Yapı Yeni Bir IslemTanımı İle ( Örnek Olarak 4 ) İlgili Kişilerde Varsa, Belirlediğim Controller Üzerinden İşlem Yapabilsin ve View Görüntülemesidir,
Controller Authorize [Authorize(Roles = "0,2")]
View Role Kontrolü if (User.IsInRole("0"))
Yukarıdaki Yapı Üzerinde Bir Kişinin Sadece Bir IslemTanimi Olduğu İçin Controller Authorize Üzerinde Nasıl Bir İşlem Yapmam Gerekiyor ?
Bu Konuda Nasıl Bir İşlem Yapmam Gerekmektedir ?
Sizlerden Bilgi Beklemekteyim, İyi Çalışmalar...
Merhabalar ÇözümPark ve Ekibi,
Üzerinde Çalıştığım Bir MVC Projesinde Controller Tabanlı Rol İşlemi Uygulamaktayım,
Yalnız MVC Roller Üzerinde Kişiye Özel Belirttiğim Yetki Kodu ( Rol ) İle İlgili Controller ve View Görüntüleyerek İşlem Yapmaktadır,Global.asax.cs GlobalFilters.Filters.Add(new AuthorizeAttribute());Giris Controller var YetkiBilgisi = DB.YetkiIslemleri.Where(X => X.KayitNo == GirisIslemi.YetkiIslemleriKayitNo).FirstOrDefault(); FormsAuthentication.SetAuthCookie(GirisIslemi.KayitNo.ToString(), false);public override string[] GetRolesForUser(string KayitNo) { BTMEntities DB = new BTMEntities(); int KN = Convert.ToInt32(KayitNo); var YetkiBilgisi = DB.YetkiIslemleri.Where(X => X.KullaniciIslemleriKayitNo == KN).SingleOrDefault(); return new string[] { YetkiBilgisi.IslemTanimi.ToString() }; }
Roller Yapısında Bir Kişinin Sadece Bir Adet IslemTanımı Yetkisi Bulunmaktadır,
Burada Oluşturmak İstediğim Yapı Yeni Bir IslemTanımı İle ( Örnek Olarak 4 ) İlgili Kişilerde Varsa, Belirlediğim Controller Üzerinden İşlem Yapabilsin ve View Görüntülemesidir,
Controller Authorize [Authorize(Roles = "0,2")]View Role Kontrolü if (User.IsInRole("0"))Yukarıdaki Yapı Üzerinde Bir Kişinin Sadece Bir IslemTanimi Olduğu İçin Controller Authorize Üzerinde Nasıl Bir İşlem Yapmam Gerekiyor ?
Bu Konuda Nasıl Bir İşlem Yapmam Gerekmektedir ?
Sizlerden Bilgi Beklemekteyim, İyi Çalışmalar...
Merhaba,
bu konuda koda claims eklememişsiniz zannedersem teorik olarak doğru ama login olduğunda o claimsi oluşturmanız lazım
örnek
List<System.Security.Claims.Claim> claims = new List<System.Security.Claims.Claim> { new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Name, user.Result.Adi), new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Email, user.Result.Email), new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Role,"Stadart"), new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.UserData,""), }; ClaimsIdentity identity = new ClaimsIdentity(claims, "cookie"); System.Security.Claims.ClaimsPrincipal principal = new System.Security.Claims.ClaimsPrincipal(identity); await HttpContext.SignInAsync( scheme: CookieAuthenticationDefaults.AuthenticationScheme, principal: principal);
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Merhabalar,
Geri Dönüşünüz ve Desteğiniz İçin Teşekkür Ediyorum @eravse
Aşağıdaki Şekilde İstediğim Durumu Çözümledim, Ama Claims Olarak Yapılandırmayı Core Üzerine Geçtiğimde Uygulayacağım Proje Üzerine
[Authorize(Roles = "0,1,10.11.12,")]
public override string[] GetRolesForUser(string KayitNo) { BTMEntities DB = new BTMEntities(); int KN = Convert.ToInt32(KayitNo); var YetkiBilgisi = DB.YetkiIslemleri.Where(X => X.KullaniciIslemleriKayitNo == KN).ToList(); List<string> RolTanimlariListesi = new List<string>(); string[] RolBilgisi = null; for (int i = 0; i < YetkiBilgisi.Count; i++) { RolTanimlariListesi.Add(YetkiBilgisi[i].IslemTanimi); } RolBilgisi = RolTanimlariListesi.ToArray(); return RolBilgisi; }