2012-03-27 7 views
1

Ich habe eine MVC3-Website auf meinem Dev-Server veröffentlicht. Die Authentifizierung für diese Website ist wie unten Anonymous gesetzt - Disabled Fenster - Forms Aktiviert - Identitätswechsel aktiviert - Aktiviertweb.config Speicherort funktioniert nicht in MVC3

I Formularauthentifizierung in meiner Website. Um den anonymen Zugriff auf den Content-Ordner zu ermöglichen (alle Bilder sind hier verfügbar), habe ich in der Root-Datei web.config Location-Tags hinzugefügt.

Wenn ich versuche, auf mein Bild http://devserver/website/Content/images/logo.png zuzugreifen, leitet es mich zur Anmeldeseite um.

Wenn ich Anonym - in IIS aktiviert, dann kann ich auf Bild zugreifen. Sonst nicht. Aber ich möchte das nicht tun, da ich den lokal angemeldeten Benutzernamen nicht direkt im Textfeld Benutzername anzeigen kann, wenn der anonyme Zugriff aktiviert ist.

Ich habe auch versucht web.config-Datei mit folgendem Inhalt

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <handlers> 
     <remove name="BlockViewHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

in Content-Ordner hinzuzufügen. Dies scheint auch nicht zu helfen. Irgendwelche Vorschläge?

Einstellung von Anonymous - Enabled die einzige Möglichkeit, anonymen Zugriff auf meine Website zu ermöglichen.

Ich habe eine ASP.net-Website mit ähnlicher Konfiguration 1. Anonym - Deaktiviert, Windows - Aktiviert, Impersonate - Aktiviert 2. Standorttags in der Datei root web.config. und es funktioniert perfekt.

Ich verstehe nicht, warum das gleiche nicht in MVC3 funktioniert. Kann ich einige Dateityp-Ausschlüsse (*. Css, * .jpg, * .png) wie in anderen PHP MVC3-Frameworks hinzufügen?

Antwort

0

Ich empfehle, anonyme Anfragen zu ermöglichen.

Wenn Sie eine Seite in ASP.NET MVC sichern müssen, müssen Sie das Attribut [Autorisieren] verwenden. Sie können es auf den Controller oder auf die Aktionserklärung setzen.

Beispiele:

[Authorize] 
public class HomeController : Controller 
{ 
    // All actions will be authenticated 
    ... 
} 

public class HomeController : Controller 
{ 
    public ActionResult EveryoneAllowed() {...} 

    [Authorize] 
    public ActionResult OnlyAuthenticated() {...} 
} 
Verwandte Themen