2009-03-03 3 views
2

Ich habe wirklich albern Problem, aber es ist eine Woche gewesen und ich kann nicht vorwärts gehen. Ich habe eine kleine App, die durch Authentifizierung geschützt ist. Alles funktioniert lokal, Sie können sich einloggen usw. Auf dem entfernten Rechner können Sie sich nicht anmelden, es wird Ihnen mitgeteilt, dass Ihr Login nicht erkannt wird. Nun, ich dachte, es könnte db-Verbindung usw. sein, so machte ich kleine Testseite, die Liste asp_users Tabelle und durch Änderungen an Benutzern kann ich sehen, sowohl lokale als auch Remote sehen gleiche Tabelle über diese Verbindung, warum Benutzerauthentifizierung nicht funktioniert jenseits von mir.Brauchen Sie Hilfe mit. Net-Login-Prozedur (funktioniert auf dem lokalen Computer, nicht auf Remote)

Um zu verdeutlichen, es ist asp.net app und forms authentifizierung, db verbindung funktioniert basierend auf test seite ich erstellt, dass listet asp_users tabelle.

Es meldet keinen Fehler, sagt nur 'Ihr Login-Versuch war nicht erfolgreich. Bitte versuche es erneut.' Es muss etwas wirklich einfaches sein und ich bin jetzt zu frustriert, um es zu sehen, weshalb ich um Hilfe ersuche. HILFE ! :)

OK, also habe ich versucht, Teile von web.config zu posten, aber es wird einfach nicht angezeigt. Es ist wirklich grundlegende Konfiguration mit Verbindungszeichenfolge und Mitgliedschaft und Rollen Abschnitte (kein Profil). Eine Frage wäre also, wie würdest du das machen, was würdest du prüfen?

Vielen Dank im Voraus für alle konstruktiven Kommentare.

Zeljko

+0

Wenn Sie die relevanten Bits Ihrer web.config veröffentlichen können, wäre es gut. Verwenden Sie einfach das Codebeispiel im Editor. –

+0

die Codebeispiel-Taste ist die mit dem 1010101 drauf ... fügen Sie einfach Ihren Code ein, markieren Sie ihn im Editor und drücken Sie diese Taste. –

Antwort

1

Wir hatten eine etwas ähnliche Situation, während wir uns einloggen konnten, die Seite weigerte sich "Remember Me", wenn ausgewählt. Es ging darum, sicherzustellen, dass sowohl die Mitgliedschafts- als auch die Rollenanbieter auf die gleichen Ressourcen verwiesen. Ja, das war ein "Doh!" Moment für mich. :)

Versuchen Sie, SQLExpress auf dem Remote-Server zu verwenden, oder wird auf eine vollständige SQLServer-Instanz verwiesen? Es ist meine Erfahrung, dass die meisten Shared Hosting-Umgebungen nicht eingerichtet sind, um die Verwendung einer .MDF im App_Data-Ordner zu ermöglichen ... Ungeachtet dessen, dass dies Sie in die richtige Richtung weist.

Hier sind ein paar Dinge zu versuchen:

  1. Ihre Login-ID nicht gesperrt ist Vergewissern Sie sich; kann es wirklich so einfach sein wie das

  2. Achten Sie darauf, es keine Sicherheit auf den Ordner Trimmen ist, die der Login-Seite

  3. Überprüfen Sie die entsprechenden Provider-Einstellungen in der web.config-Datei und stellen Sie sicher, dass

    enthält
    • Alle Anbieter den gleichen Wert für die „Anwendung“ Attribut haben müssen

    • Alle Anbieter die gleiche Verbindungszeichenfolge und Anbieter verwenden müssen „set“

      • Mehr als wahrscheinlich, dass diese mit der SqlMembershipProvider und SqlRoleProvider bedeuten wird
      • Wenn Ihr kein v3.5 App ist dann könnten Sie einen Verweis auf System.Web.Security hinzufügen müssen . Das ist der Namespace Sie brauchen eigentlich
    • Wenn Sie sicher sind, dass Ihre Website SQLExpress verwenden können, dann versuchen Sie dies mit dem AspNetMembershipProvider und AspNetRoleProvider

HTH!

+0

Es ist Remote-SQL-Server so voll, nicht ausdrücken. Ich habe mit Express angefangen und anfangs sah es so aus, als wäre die Namensgebung das Problem. Ich denke, es könnte das Problem mit dem Anwendungsattribut sein. Ich experimentiere gerade damit. –

+0

OK es war definitiv Anwendungsname in Anbietern, man hatte es, andere (Rollen) nicht. Total komisch! Danke für die Anregung, sowohl Ihnen als auch anderen, die versucht haben zu helfen. Ich wusste, dass es etwas Dummes sein muss. –

0

Haben Sie eine Domain? Wenn Sie dies nicht tun, müssen Sie sich als Benutzer des Systems anmelden, auf dem Ihre asp.net-App ausgeführt wird.

Wenn Sie eine Domain zu tun haben, versuchen Sie sich als

Domain_Name \ Username Anmeldung

nur, dass man wirft es heraus.

0

Es ist nicht klar, welche Art der Authentifizierung Sie verwenden, aber wenn es Windows-Authentifizierung ist, dann könnte es sein, dass Sie Ihren angemeldeten Benutzer von der lokalen Maschine lesen und der Benutzer nicht auf der Fernbedienung vorhanden ist.

Wenn Sie richtig Formularauthentifizierung implementiert haben, dann klingt es wie es eine Datenbankverbindung Problem sein könnte, und Sie sollten dort beginnen Fehlerbehebung ..

  • Vielleicht starten, indem Sie versuchen, von SQL Management Studio aus der Fernbedienung, um eine Verbindung Maschine zur DB (unter Verwendung der Verbindungsinformationen in Ihrem web.config)
+0

Es ist asp.net app mit Formularauthentifizierung, verifizierte ich Db-Verbindungen und sie funktioniert gut, ich habe auch alle Verbindungsnamen (in Rollen, Mitgliedschaft) umbenannt, um gleich zu sein, so dass Fehler nicht dort verrutschen würde. Seltsam ist, dass es lokal und nicht remote funktioniert, wenn man mit derselben db spricht. –

+0

Vielleicht starten, indem Sie versuchen, von sql Management Studio von der Remote-Maschine auf die db (über die Verbindungsinformationen in Ihrer web.config) –

+0

Verbindung Ja, ich tat das, es funktioniert und das ist, warum dies ein seltsames Problem ist. Ich versuche, Remotedesktopanmeldung zu erhalten, um IIS-Einstellungen zu sehen, die Bryan vorgeschlagen hat. –

0

Wie lauten die Einstellungen für die Verzeichnissicherheit für IIS? Stellen Sie sicher, dass die Einstellungen für den Dialog "Anonymer Zugriff und Authentifizierungssteuerung" identisch sind. Eine ungültige Einstellung ist hier die wahrscheinlichste Ursache für diesen speziellen Fehler.

+0

Danke, ich werde das überprüfen. –

Verwandte Themen