Standard-login-url auf HttpUnauthorizedResult in asp.net mvc
Ich geschrieben habe, eine benutzerdefinierte AuthorizeAttribute
unter der folgenden Bedingung in asp.net mvc3-Anwendung:
public override void OnAuthorization(AuthorizationContext filterContext)
{
//auth failed, redirect to Sign In
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
Und in meinem web.config habe ich:
<authentication mode="Forms">
<forms loginUrl="~/User/SignIn" timeout="2880" />
</authentication>
On authentication fehlschlägt, leitet auf "/Account/Login" - Seite standardmäßig.
Wie ändere ich das Standard-url-Weiterleitung und leiten Sie zu "/User/SignIn"?
Der screenshot zeigt die klare Sicht auf das, was ich versuche zu sagen..
Obwohl ich eingestellt habe '/User/SignIn', es leitet zu "/Account/Login'
- sind Sie mit MVC3?
- Ja. Ich bin mit MVC3.
- Ich habe die Lösung nach ein Kampf. Ich habe WebMatrix.WebData Referenz vor kurzem, das scheint der wahre Schuldige an diesem Problem. Dies kann umgegangen werden, indem die Schlüssel zu Ihrem config-Datei: <add key="loginUrl" value="~/User/Other," />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, ob ich hinzufügen können, das als Antwort. Diese können aber anderen helfen, die dieses Problem im Zusammenhang.
Ich habe die Lösung nach ein Kampf. Ich habe WebMatrix.WebData Referenz vor kurzem, das scheint der wahre Schuldige an diesem Problem. Dies kann umgegangen werden, indem die Schlüssel zu Ihrem config-Datei:
Sollten Sie das ändern der root für loginUrl.
habe ich erstellt AuthorizationAttribute... es ist richtig umleiten
z.B.
und mein Attribut:
und anwenden-Attribut, um eine beliebige Methode des Controllers als nötig...
Ich hatte vor kurzem dieses problem und fand, es war, weil ich hatte das WebMatrix.dll verwiesen wird in meinem Projekt.
Entfernen dieser DLL das Problem
finden Sie hier
Was ist die PreserveLoginUrl " appSetting Schlüssel/Wert-in einem ASP.NET MVC-Anwendung?