Criei o a minha classe tudo certinho conforme mostra no exemplo mas na hora em que eu vou executar ele cai na pagina inicial perfeitamente, mas na hora que eu vou logar o meu produtos sem o login ao inves de ele mi redirecionar para a pagina de login ele diz que o redirecionamento está incorreto dizendo que o pro pode ser causado pela desativação ou recusa de aceitar o cookies, estou postando junto a minha classe produtos controler e AutorizacaoFilterAttribute
produto controler
[AutorizacaoFilter]
public class ProdutoController : Controller
{
// GET: Produto
[Route("Produtos", Name = "ListaProdutos")]
public ActionResult Index()
{
ProdutosDAO produtosdao = new ProdutosDAO();
IList<Produto> produtos = produtosdao.Lista();
return View(produtos);
}
public ActionResult Form()
{
CategoriasDAO categoriasDAO = new CategoriasDAO();
IList<CategoriaDoProduto> categorias = categoriasDAO.Lista();
ViewBag.Categorias = categorias;
ViewBag.Produto = new Produto();
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Adiciona(Produto produto)
{
int idDaInformatica = 1;
if (produto.CategoriaId.Equals(idDaInformatica) && produto.Preco <=100)
{
ModelState.AddModelError("produto.Invalido","produto abaixo de 100 reais ");
}
if (ModelState.IsValid)
{
ProdutosDAO dao = new ProdutosDAO();
dao.Adiciona(produto);
return RedirectToAction("Index","Produto");
}
else
{
ViewBag.Produto = produto;
CategoriasDAO categoriaDAO = new CategoriasDAO();
ViewBag.categorias = categoriaDAO.Lista();
return View("Form");
}
}
[Route("produtos/{id}", Name="Visualizaproduto")]
public ActionResult Visualiza(int Id)
{
ProdutosDAO produtoDAO = new ProdutosDAO();
Produto produto = produtoDAO.BuscaPorId(Id);
ViewBag.Produto = produto;
return View();
}
public ActionResult DecrementaQtd(int id)
{
ProdutosDAO dao = new ProdutosDAO();
Produto produto = dao.BuscaPorId(id);
produto.Quantidade--;
dao.Atualiza(produto);
return Json(produto);
}
AutorizacaoFilterAttribute
public class AutorizacaoFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
object usuario = filterContext.HttpContext.Session["usuarioLogado"];
if (usuario == null)
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(
new { controler = "Login", action = "Index"}
)
);
}
}
}