Asdp.net Mvc Rol Ekleme Id Int Olmuyor

ASP.NET MVC’de Rol Ekleme (ID int Olmuyor)

ASP.NET MVC uygulamalarında, kullanıcılara farklı yetkiler atamak için roller kullanılır. Roller, kullanıcıların belirli kaynaklara erişimini kontrol etmek için kullanılır. Örneğin, bir yönetici rolüne sahip kullanıcı, tüm kaynaklara erişebilirken, bir kullanıcı rolüne sahip kullanıcı yalnızca belirli kaynaklara erişebilir.

ASP.NET MVC’de rol ekleme işlemi, RoleManager sınıfı kullanılarak yapılır. RoleManager sınıfı, rolleri yönetmek için kullanılan bir dizi yöntem içerir. Bu yöntemlerden biri de CreateAsync yöntemidir. CreateAsync yöntemi, yeni bir rol oluşturmak için kullanılır.

CreateAsync yönteminin ilk parametresi, oluşturulacak rolün adıdır. İkinci parametresi ise, rolün açıklamasıdır. Üçüncü parametresi ise, rolün ID’sidir. ID, rolü benzersiz bir şekilde tanımlayan bir sayıdır.

ASP.NET MVC’de rol ekleme işlemi sırasında, ID parametresinin int veri türünde olması gerekir. Ancak, bazı durumlarda, ID parametresinin int veri türünde olmaması gerekebilir. Örneğin, rolü bir veritabanından almak istiyorsanız, ID parametresinin string veri türünde olması gerekebilir.

ID parametresinin int veri türünde olmaması durumunda, CreateAsync yöntemini kullanarak rol ekleme işlemi gerçekleştirilemez. Bu durumda, CreateAsync yönteminin yerine CreateRoleAsync yöntemini kullanmanız gerekir.

CreateRoleAsync yöntemi, CreateAsync yöntemine benzer bir yöntemdir. Ancak, CreateRoleAsync yönteminin üçüncü parametresi, rolün ID’si değildir. CreateRoleAsync yönteminin üçüncü parametresi, rolün adıdır.

Aşağıdaki kod örneği, CreateRoleAsync yöntemini kullanarak rol ekleme işleminin nasıl gerçekleştirileceğini göstermektedir:

“`
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace YourApplication.Controllers
{
public class RoleController : Controller
{
private RoleManager _roleManager;

    public RoleController()
    {
        _roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
    }

    public ActionResult CreateRole()
    {
        return View();
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult CreateRole(string roleName)
    {
        if (ModelState.IsValid)
        {
            var role = new IdentityRole(roleName);
            var result = _roleManager.CreateAsync(role).Result;

            if (result.Succeeded)
            {
                return RedirectToAction("Index");
            }
            else
            {
                ModelState.AddModelError("", "Rol oluşturulamadı.");
            }
        }

        return View();
    }
}

}
“`

Faydalı Siteler ve İlgili Dosyalar


Yayımlandı

kategorisi