J'utilise ASP.NET MVC2 et j'ai un problème. Après la déconnexion, je tape manuellement dans la barre d'adresse http://localhost/controller/action
et je suis redirigé vers la page indépendamment de ce que je suis LogOff. Comment puis-je résoudre ce risque de sécurité?Problème de sécurité lors de la déconnexion et de la navigation dans '/ controller/action'
code d'une action du contrôleur qui je suis type manuel sur la barre adresse:
[Authorize(Roles = "Admin")]
public ActionResult Upload()
{
return View();
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Ajouter
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Upload</h2>
<% using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype="multipart/form-data" }))
{ %>
Select a file: <input type="file" name="fileUpload" id="fileUpload" />
<input type="submit" value="Upload";/>
<%
} %>
</asp:Content>
Mise à jour: Maintenant, je l'ai découvert que je peux manualy le type dans le contrôleur de barre d'adresse et nom de l'action et les pages ouvertes sur mon site Web avant la connexion, pourquoi
actions LogOn et LogOff:
[AcceptVerbs(HttpVerbs.Post)]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
Justification = "Needs to take same parameter type as Controller.Redirect()")]
public ActionResult LogOn(string userName, string password, bool rememberMe, string returnUrl)
{
if (!ValidateLogOn(userName, password))
{
return View();
}
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("About", "Home");
}
}
public ActionResult LogOff()
{
FormsAuth.SignOut();
return RedirectToAction("Index", "Home");
}
Je suis solutions trouvées: Je mets le nom du mauvais rôle ([Authorize(Roles = "Admin")]
) et ce fut un problème avec mon code
Montrez votre code d'action. –