hallo miteinander
in django gibt es schon ein fertiges Loginsystem, ich möchte aber nun ein eigenes programmieren, weil Datenbankfelder
anders definieren möchte. Zum Beispiel username Feld benötige ich nicht usw. Nun um ein eigenes Loginsystem zu realisieren
muss ich zuerst Datenbank Modelle definieren, welche und wieviele Felder, dass ich für das Konto erstellen von Benutzer
benötige. Dann gibt es da diverse Klassen und Methoden für Authentifiezierung und Logging. Zum Beispiel die User Klasse,
muss ich diese vererben?
Meine Frage, in einem Satz gefasst, wie würde ihr vorgehen?
Gruss kostonstyle
Loginsystem
Wie unterscheidest Du Deine Benutzer, ohne Benutzername? An Deiner Stelle würde ich mich ernsthaft fragen, ob sich der Aufwand lohnt, oder ob nicht eine kleine Anpassung genügt, damit Du das django Loginsystem nutzen kannst.kostonstyle hat geschrieben: Zum Beispiel username Feld benötige ich nicht usw.
http://www.felix-benner.com
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
ich würde es durch email adresse unterscheiden. warum nicht oder?
was meinst du damit?Nen Datenbank-Error-Wrapper schreiben und vor das Django-Login bappen.
Er meint zumindest nichts für deinen Fall relevantes. Ich würde das Django User modell erweitern (UserProfile zb), aber tausch es lieber nicht aus, die verlierst zu viel dad.urchkostonstyle hat geschrieben:was meinst du damit?Nen Datenbank-Error-Wrapper schreiben und vor das Django-Login bappen.
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
aber von django user modell brauche ich nicht alle Felder, zb Username brauch ich nicht, aber username ist ein muss feld.
es gibt ein tutorials, weiss nicht, ob richtig ist
http://www.hoboes.com/Mimsy/hacks/custo ... ntication/
es gibt ein tutorials, weiss nicht, ob richtig ist
http://www.hoboes.com/Mimsy/hacks/custo ... ntication/
Nun, du kannst zb die email-adresse hashen und das ins Userfeld schreiben, aber alles in allem ist es eine Frickellösung. Wenn du Django ohne auth verwenden willst, kannst du imo auch gleich eine eigene Lösung aus werkzeug/jinja/sqlalchemy verwenden; kommt aufs gleiche raus (Und ist wahrscheinlich weniger Arbeit).
EDIT:// Und der Link ist auch eher suboptimal, Django hat dafür AuthBackends, damit geht das einfacher…
EDIT:// Und der Link ist auch eher suboptimal, Django hat dafür AuthBackends, damit geht das einfacher…
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
Eben, das wollte ich euch fragen, wie soll ich es vorgehen, wenn ich eine Loginsystem erzeugen möchte...
und was meinst du mit
und was meinst du mit
werkzeug/jinja/sqlalchemy
Er meint damit, dass wenn Du schon Django um seiner Authenzifizierungsfunktion kastrieren willst, Du auch gleich ein eigenes WebServer/App System mittels der Python Frameworks "Werkzeug", "Jinja" und "sqlalchemy" neuentwickeln könntest.
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
au....das kann ich wohl vergessen...
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
was würdet ihr davon halten, wenn ich auf ruby on rails umsteige? Möchte eigentlich nicht, aber das rails framework sollte in der webentwicklung stark involviert sein im gegensatz zu python oder wie sieht ihr den das?
@kostonstyle: Rails mit Python zu vergleichen, ist Äpfel und Birnen zu vergleichen. Rails ist ein Webrahmenwerk und Python eine Programmiersprache. Das ist genau so sinnvoll wie Django mit Ruby vergleichen zu wollen.
Wenn Dir Rails als Webrahmenwerk mehr zusagt als Django, würde es natürlich Sinn machen umzusteigen.
Wenn Dir Rails als Webrahmenwerk mehr zusagt als Django, würde es natürlich Sinn machen umzusteigen.
Also ich hab Django mal mit nem zusätzlichen Auth-System benutzt. Erstmal wurde das Interne probiert und wenn dort der Nutzer nicht gefunden wurde kam meins an die Reihe. Das war sogar gnadenlos extern und dessen Datenbank per SqlAlchemy angebunden. Wenn da ernsthaft Interesse am System besteht kann ich das mal zu nem Beispiel umändern. Das Ganze ist für Django 1.0 geschrieben.apollo13 hat geschrieben:Zumindest würde ich dir davon abzuraten, das Django atuh system so stark zu ändern. Wenn du Django gut kennst geht es halbwegs, aber dennoch ist und bleibt es ein hack und ich werde es nie wieder machen^^
Das glaub ich dir gut und gerne, aber ich nehme an du hast die Usernames synchronisert, also bei Bedarf in Django user angelegt (damit FKs etc gehen) und dann wird es unlustig, wenn du keinen username sondern zb nur email willst…audax hat geschrieben:Also ich hab Django mal mit nem zusätzlichen Auth-System benutzt. Erstmal wurde das Interne probiert und wenn dort der Nutzer nicht gefunden wurde kam meins an die Reihe. Das war sogar gnadenlos extern und dessen Datenbank per SqlAlchemy angebunden. Wenn da ernsthaft Interesse am System besteht kann ich das mal zu nem Beispiel umändern. Das Ganze ist für Django 1.0 geschrieben.apollo13 hat geschrieben:Zumindest würde ich dir davon abzuraten, das Django atuh system so stark zu ändern. Wenn du Django gut kennst geht es halbwegs, aber dennoch ist und bleibt es ein hack und ich werde es nie wieder machen^^
Also...wo ist denn bitteschön das Problem, die Email als Username in Django zu nutzen? Ich mein, irgendeinen Primary Key sollte es ja geben.
Also ich hab jedenfalls in Django immer nur mit Benutzername und Passwort gearbeitet und hab nirgends weitere Felder angegeben, außer in meinem eigenen Profil, dass aber unabhängig davon war.
Liegt es etwa daran, dass das Feld "username" heißt und nicht "email"?
Also ich hab jedenfalls in Django immer nur mit Benutzername und Passwort gearbeitet und hab nirgends weitere Felder angegeben, außer in meinem eigenen Profil, dass aber unabhängig davon war.
Liegt es etwa daran, dass das Feld "username" heißt und nicht "email"?
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
ich habe gemeint, dass der username ein require field ist.
@audax: email ist nicht unique (gut das kann man halbwegs umgehen). Was dann noch dazukommt ist, dass er keine Usernames verwenden will und somit auch das feld nicht ausfüllen will. Da das unique ist sollte man sich dafür was einfallen lassen (eg hashes der email). Ich sagte ja nicht, dass es nicht machbar wäre, sondern es ist nur nicht ganz trivial....
-
- User
- Beiträge: 148
- Registriert: Sonntag 2. November 2008, 12:13
so ich habe mich entschieden auf ruby on rails um zusteigen. Die Entscheidung war nicht leicht, weil ich Python noch eine recht schöne Sprache finde und dazu, seit ihr hier in Forum immer hilfsbereit.
Vielen Dank kostonstyle
Vielen Dank kostonstyle