J'ai juste besoin de faire un autentication manuel sur MVC3 et le problème est, lorsque l'accès utilisateur l'URL du projet, j'ai ce code sur la classe de base:MVC3 d'authentification Manuel
public class BaseController : Controller
{
private Usuario loggedUser;
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if (requestContext.HttpContext.Request.RawUrl != "/Home/Login")
{
if (requestContext.HttpContext.Session["usuario"] != null)
{
loggedUser = (Usuario)requestContext.HttpContext.Session["usuario"];
ViewBag.nomeUsuario = loggedUser.Nome;
ViewBag.idUsuario = loggedUser.Id;
}
else
{
requestContext.HttpContext.Response.RedirectPermanent("~/Home/Login");
}
}
base.Initialize(requestContext);
}
Le problème est, quand ils ne sont pas autorisés J'envoie une redirection MAIS l'initialisation continue à traiter l'action de demande. Je pense que la validation n'est pas un bon endroit car je peux supprimer la méthode inicalize.
Pensez à utiliser une coutume 'FilterAttribute', comme' AuthorizeAttribute', mais créer votre propre et le mettre sur le 'BaseController' ou quel que soit le contrôleur dont vous avez besoin sur la fonctionnalité. –
Mario, j'ai regardé AuthorizeAttribute, mais j'ai besoin de créer ceci sans l'adhésion de Microsoft, sans utiliser la fonctionnalité d'authentification de MS. –
Vous pouvez hériter de 'AuthorizeAttribute' et remplacer la fonctionnalité pour utiliser votre propre logique. –