I have applied authorization filter with role id on each action method in a controller.
For exmaple I have 3 action method in a controller
how to redirect user based on role in mvc c#
public class userValidationController : Controller
{
private ResourceEntities db = new ResourceEntities();
private ResourceEntities2 userRoleDb = new ResourceEntities2();
[HttpPost]
public ActionResult ValidateUser(string user, string pass)
{
ResourceEntities1 ValidateUser = new ResourceEntities1();
var s = ValidateUser.sp_Validation(user, pass);
var item = s.FirstOrDefault();
if (item == 1)
{
ViewBag.Message = "Invalid deleated user";
return View("Index");
}
else if (item == 2)
{
Session["UserName"] = user;
return RedirectToAction("Index", "userRole");
}
else if (item == 3)
{
ModelState.AddModelError("", "Invalid User Name or Password");
ViewBag.Message = "Invalid user kindly contact admin";
return View("Index");
}
else
{
ModelState.AddModelError("", "Invalid User Name or Password");
ViewBag.Message = "Invalid user kindly contact admin";
return View("Index");
}
}
}
when Item == 2 I am redirect to userRole Controller where I want request to select action method automatically based on role ID.
Please suggest how can I do it.
[CustomAuthFilter]
public class userRoleController : Controller
{
[CustomAuthorizeAttribute(0)]
public ActionResult Index()
{
return View();
}
[CustomAuthorizeAttribute(1)]
public ActionResult candidateRole()
{
return View();
}
[CustomAuthorizeAttribute(2)]
public ActionResult hrRole()
{
return View();
}
}