2012-03-28 11 views
1

Ich arbeite an einem neuen Projekt für einen Kunden, wo wir einige wichtige Daten online speichern werden. Ich habe eine alte Zugangsdatenbank erhalten, die ich in MS SQL konvertiert habe, und jetzt frage ich mich, welche Art von Login ich verwenden sollte & Sicherheit.ASP.NET Login & Sicherheit

Ich werde die Website von SSL ausführen, aber ich bin nicht 100% sicher, ob ich mit Formularauthentifizierung oder etwas anderes gehen sollte.

Jeder Rat würde sehr geschätzt werden.

Antwort

1

Wenn Sie diese dann auf jeden Fall die Verwendung von SSL auf dem öffentlichen Internet laufen Mitgliedschaft bezogenen Transaktionen zu verschlüsseln. Die "Kosten" für die Verwendung von SSL sind gering - das Risiko von Packet-Sniffing und Firesheep-ähnlichen Tools kann sehr hoch sein.

Grund Auth ist in Ordnung, aber ich würde versucht sein, mit Forms Auth zu gehen, nur weil Sie die Registrierung und Login-Erfahrung steuern können - Anleitung für Benutzer, CAPTCHA etc ...

+0

Danke für die Antwort! Formen scheint der beste Weg zu sein! – bExplosion

1

Ja mit der Formular-Authentifizierung gehen als der erste Teil der Sicherheit. Warum ? Denn all diese Logins basieren auf einem Cookie, und die Grundidee wird durch die Formularauthentifizierung sehr gut umgesetzt.

Jetzt müssen Sie zusätzliche Maßnahme hinzufügen, um Ihre Daten zu schützen, wie.

  1. Seien Sie sicher, dass Sie Setup die Form Authentication korrigieren - Ref: Can some hacker steal the cookie from a user and login with that name on a web site?
  2. all Logins von dem Benutzer hält zusammen mit IP-Adressen und anderen Informationen und ein Muster machen, dass etwas zu erkennen, nicht in Ordnung ist. Ref: https://stackoverflow.com/a/9645770/159270
  3. Fügen Sie zusätzliches Sicherheitskennwort für einige kritische Aktionen hinzu.
  4. Hinzufügen und verwenden Sie verschiedene Sicherheitsstufen.
  5. Mit Ausnahme des Authentifizierungsformulars, für die Administratoren einen zusätzlichen Sicherheitstest für die Anmeldung hinzufügen, einen Test, den Sie finden können und der nur von Personen mit hoher Berechtigung bekannt sein muss.
2

Wenn Sie auf einem internen einzige Anwendung arbeiten werden, die Windows-Authentifizierung verwenden. Dies funktioniert out-of-the-box und erfordert lediglich, dass Sie verwenden:

<authentication mode="Windows"/> 

Wenn Sie Formulare verwenden Authentifizierung möchten, können Sie entweder Ihre eigenen Speicher und Verschlüsselungsmechanismus aufbauen, die einige Arbeit nimmt. Oder fügen Sie der Datenbank einige Tabellen hinzu, mit denen ASP.NET Benutzernamen, Kennwort und Funktionen für vergessenes Kennwort problemlos bereitstellen kann.Dies wird durch Ausführen einer Eingabeaufforderung Werkzeug erreicht, das die notwendigen Tabellen für Sie hinzufügen, werden:

aspnet_regsql.exe

Dies wird einen Assistenten starten, der Sie die Eigenschaften konfigurieren können, dass Sie SQL Server hinzufügen möchten.

Um nur die Mitgliedschaft Tabellen, fügen Sie, indem Sie sich auf SQL als Ihr Konto Verwendung angemeldet:

aspnet_reqsql.exe -S <server> -D <database> -A m -E

Oder wenn Sie als einen bestimmten Benutzer, Gebrauch verbinden:

aspnet_reqsql.exe -S <server> -D <database> -A m -U <username> -P <password>

Hier ist ein Link zu einem Tutorial auf how to use Forms Authentication with SQL Server in ASP.NET 2.0. Da es ASP.NET 2.0 ist, sieht es veraltet aus, aber es ist in jeder Version von ASP.NET V2 und höher gleich.