Announcement

Collapse
No announcement yet.

Eigene Benutzerverwaltung oder aspnetdb verwenden?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eigene Benutzerverwaltung oder aspnetdb verwenden?

    hallo,
    ich bin gerade dabei eine neue ASP.Net Anwendung zu planen und muss u.a. die Benutzer die dann Zugriff haben sollen verwalten. Bisher habe ich immer für meine Anwendungen versucht einen gewissen Standard für Benutzer-Tabellen einzuhalten. Dieser Standard hat sich von Projekt zu Projekt (classic ASP) immer verändert und verbessert.

    Meine Frage ist nun ob ich bei meinem Standard bleiben soll und diesen in .Net nachbaue oder auf die aspnetdb-Datenbank zurückgreife mit alle den bereits fertigen Möglichkeiten um dann über eine weitere Tabelle mit Anwendungsspezifischen Benutzereinstellungen per Fremdschlüssel an die Benutzer-Tabelle anzudocken. Hätte den Vorteil dass ich im .Net-Standard bin was die Authentifizierung anbelangt und dennoch meine eigenen Einstellungen habe um individuelle Anforderungen zu lösen.

    Weiterer Vorteil wäre ich habe für interne und externe Benutzer die gleiche Tabelle und kann diese sogar über Applications trennen (wenn ich den Sinn so richtig verstanden habe) oder sogar über Rollen innerhalb einer Applikation.


    Wie macht ihr das?

  • #2
    Hallo,

    ich würde (bzw. verwende) das ASP.net-Membership verwenden (warum das Rad neu erfinden?) da dies eine Lösung die ausgereift ist und einfach konfigurierbar. Dies selbst zu lösen ist nicht ökonomisch.

    um dann über eine weitere Tabelle mit Anwendungsspezifischen Benutzereinstellungen per Fremdschlüssel an die Benutzer-Tabelle anzudocken.
    Dafür gibts das Rollen-Management. Mit dem lässt sich das auch bewerkstelligen.


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      hast du auch den Fall interne und Kunden-Benutzer? wie trennst du diese beiden Gruppen? Das waren bisher zwei Tabellen bei mir damit nichts anbrennen kann.

      Comment


      • #4
        wie trennst du diese beiden Gruppen?
        Ohne jetzt mehr über die Architektur deiner Anwendung zu wissen:
        Mit 2 Rollen - eine für die internen Kunden und die andere für die externen.


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          hallo,
          hab doch noch eine Frage... nimmst du die Tabellen aus der aspnetdb-DB mit in deine Anwendung oder verwendest du zwei Datenbanken, also eine für Authentifizierung und eine für die eigentliche Anwendung?


          Danke übrigens für die Antworten!

          Comment


          • #6
            Zwei Tabellen.

            Dies deshalb da die eigentlichen Daten unabhängig von irgendwelcher Benutzerverwaltungs-Zeugs sind. Es könnte ja vorkommen dass sich das User-Management ändert (zB Umstellung auf Single-Sign-On) und dann wäre es blöd wenn die Datenbank für die Daten die Leichen der alten Benutzerverwaltung hat.

            Es sprechen noch mehrere Gründe dafür. Die meisten lassen sich mit dem Prinzip der Orthogonalität (freie Kombinierbarkeit unabhängiger Konzepte) zusammenfassen und die anderen basieren auf Faulheit. Es ist einfacher die Membership-Datenbank mit dem Webverwaltungs-Tool (oder wie das genau heißt) zu erstellen als selber mit den Kommondazeilen von dem entsprechenden Programm


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Ich würde zuerst gegen Windows Active Directory, danach gegen die Datenbank (ASP NET Forms Autentifizierung) prüfen.

              Bei der standartisierten Methode (in diesem Fall aspnetdb) hat man weniger Verantwortung z.B. bei Einbruch.

              Also aspnetdb +1
              Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

              Comment


              • #8
                Auserdem, bei der standartisierten Methode (in diesem Fall aspnetdb) hat man weniger Verantwortung, bei Einbruch z.b..
                Wie meinst du das? Kannst du das bitte erläutern?


                mfG Gü
                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                Comment


                • #9
                  Originally posted by gfoidl View Post
                  Wie meinst du das? Kannst du das bitte erläutern?
                  mfG Gü
                  Es ist manchmal schwer jemandem zu überzeugen, dass eine eigene Methode nicht schlechter als stadartisierte Methode von MS. Stellen Sie vor, das Loginsystem ist eingebrochen. Das erste was Sie hören werden :"...hätten wir von MS nutzen sollen...". Na ja, ist nur die Meinung.
                  Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                  Comment


                  • #10
                    Aha, du meinst wenn das System abstürzt.

                    Ich hab Einbruch mit einem Gängster assoziiert


                    mfG Gü
                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                    Comment


                    • #11
                      wenn man von außerhalb der Domäne kommt hat man dann aber 2 Anmeldungen

                      Comment

                      Working...
                      X