Anonymen Benutzers zu durchsuchen, der Stil und die Bilder-Ordner
Schreibe ich eine ASP.NET web-Anwendung.
Habe ich einen login-Bildschirm, hat einige CSS-Stile und Bilder auf ihn. Ich lief in ein Problem, wo die Stile und die Bilder waren nicht angezeigt. Ich online Lesen und Sie sagte, ich brauchte eine web.config in meinem Ordner "Inhalt". Ich habe Folgendes in der web.config:
<configuration>
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</configuration>
Diese schien zu funktionieren auf meinem lokalen Rechner. Allerdings, wenn ich veröffentlichen Sie Sie auf "inetpub" auf dem server, funktioniert es nicht.
Hier ist meine Ordner-Struktur:
Login/Login.aspx - meine login-Bildschirm
Inhalt - das ist mein root Ordner Inhalt
Inhalt/Styles - das ist, wo mein CSS ist untergebracht
Inhalte/Bilder - dies ist, wo meine Bilder gespeichert sind
Ich habe versucht, die gleiche web.config inside Stile und Bilder als gut, aber das hat nicht funktioniert entweder.
Jede mögliche Hilfe würde geschätzt.
Aktualisiert:
Hier ist, was ich in meiner Haupt-Webseite.config im Zusammenhang mit Benutzer-Zugriff:
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Aktualisiert 2:
Hier ist alles, was in meinem Stamm-web.config neben der Verbindungszeichenfolge info:
<system.web>
<httpRuntime requestValidationMode="2.0"/>
<compilation debug="true" targetFramework="4.0"/>
<sessionState cookieless="UseCookies"/>
<authentication mode="Forms">
<forms name="CMS" loginUrl="Login/Login.aspx" timeout="25" slidingExpiration="true"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<location path="Content" allowOverride="false">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Könnte es etwas sein, hier sich mit den Benutzer-Zugang?
- Kommen Sie hüpfte, wenn Sie einen bestimmten Teil des Inhalts, oder wenn Sie versuchen die Liste den Inhalt des Verzeichnisses?
- Ja, wenn ich versuche, direkt in das stylesheet im browser, bekomme ich prallte auf den login-Bildschirm mit einer url zurück.
- Irgendwelche anderen Ideen? Keine der Lösungen sind für mich arbeiten. Etwas, das ist der Hinweis, das ganze funktioniert auf meinem lokalen Rechner. Wo ich Probleme, wenn ich veröffentlichen Sie Sie auf einem remote-server. Gibt es irgendeine Konfiguration im IIS, das würde sich ändern müssen, um für diese zu arbeiten, richtig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Siehe meine Antwort hier. Manche Leute würden empfehlen, ein web.config-Datei in dem Ordner, den Sie wollen offen sein für die öffentlichkeit, aber ich bevorzuge es, zu überwachen, alles, was von der Stamm-web.config-element. Im Grunde, Sie legen die gleichen Schnipsel, die Sie bereits haben, aber in der web.config-Datei im Stammverzeichnis Ihrer website. Vergessen Sie nicht, die "allowOverried=false" - Attribut zu. 🙂
Etwas anderes werden kann, als es wirklich schwierig ist immer den richtigen Weg. Stellen Sie sicher, Sie haben es nur Recht! 🙂
Ich weiß, das ist eine alte Frage, aber ich hatte das gleiche Problem und hoffe, das jemand hilft.
In meinem Fall, ich hatte zu ändern, die Authentifizierungs-Einstellungen im IIS arbeiten soll. Das klingt wie, was passiert ist, sobald Sie zog ihn an einen remote-server, auf dem die default-Konfiguration können anders gewesen.
Wir haben Windows-Authentifizierung - Modus standardmäßig aktiviert, aber wenn die web.config gibt Forms-Authentifizierung, wird es tatsächlich ermöglichen, die beide in der IIS-Konfiguration.
Mit Ihrer Website.config, Sie haben so etwas wie dieses
Wenn Sie den server verschoben, um die Windows-Authentifizierung aktiviert ist, wird es so Aussehen in IIS
Bemerken beide Forms und Windows aktiviert sind, trotz deiner config sagen, nur Formen. Was wird dies tun, wird untergraben Ihre zusätzlichen web.config Dateien in den Unterverzeichnissen.
Wenn Sie die unten in deinem Content-Ordner, es scheint ein Konflikt mit Windows vs Formen und egal, was Sie gesagt, es scheint nicht zu Ehren Ihrer Website.config
Wenn man in dieser gleichen situation, stellen Sie sicher, deaktivieren Sie Windows-Authentifizierung oder eine andere nicht verwendete Authentifizierungs-Modi, wie im Bild unten. Sie müssen auch sicherstellen, Anonym aktiviert, um es zu ermöglichen, offen zu sein für alle.
Hoffe, das jemand hilft.
Im Grunde, Sie möchten, dass alle Benutzer Zugriff auf Dateien im Content-Ordner.
fügen Sie diese zu Ihrem Haupt-Webseite.config:
authentication
und allelocation
Abschnitte.Durch die Art und Weise der Dokumentation geholfen haben, in meinem Fall:
Diese Diskussion war hilfreich