Wird bei Benutzernamen immer zwischen Groß- und Kleinschreibung unterschieden?

8

Ich betrachte einen Code, der Benutzernamen in Kleinbuchstaben umwandelt, bevor sie gespeichert werden. Ich bin 90% sicher, dass das in Ordnung ist, aber gibt es Systeme da draußen, die tatsächlich die Groß- / Kleinschreibung für die Benutzernamen (speziell in der Gesundheitsindustrie) erfordern?

Hinweis: Mein spezieller Code befindet sich nicht am Einstiegspunkt. Wir nehmen Benutzernamen von anderen Systemen. Die Sorge, die ich habe, hängt von diesen Systemen ab (die unter unserer Kontrolle stehen können oder nicht), um uns Benutzernamen im selben Fall (bei der Beschreibung des gleichen Benutzers) konsistent zu übergeben.

Bemerkenswert - der Code ist:

%Vor%

Sind alle Benutzernamen in Englisch? Ist dies nur so, dass die Kollatierung in der Datenbank übereinstimmt? Beachten Sie, dass (zumindest in Java) String.toLowerCase() als String.toLowerCase(Locale.getDefault())

definiert ist     
Stephen 12.02.2009, 00:11
quelle

8 Antworten

21

Unix-Logins unterscheiden zwischen Groß- und Kleinschreibung ...

Gibt es andere Systeme, die das tun?

    
Stephen 12.02.2009 00:14
quelle
6

toLowerCase hat nur einen Grund, ein Gebietsschema zu akzeptieren:

da kleiner Buchstabe i einen Punkt in jeder Standardsprache hat, wird der Buchstabe I in ein i mit einem Punkt umgewandelt.

aber auf türkisch gibt es auch einen Großbuchstaben © mit einem Punkt darüber. Das wird in einen kleinen Buchstaben umgewandelt.

Das "normale" türkische Kapital I verwandelt sich in ein kleines ı - ohne einen Punkt.

Also, wenn Ihre türkischen Benutzernamen nicht alle IiI1I1iiII heißen, würde ich mir darüber keine Sorgen machen.

Jede andere Sprache als Türkisch hat eine identische toLowerCaseImplementation. So könnten Sie Locale.ENGLISH oder Locale.GERMAN oder was auch immer auswählen..passen Sie einfach nicht türkisch zu wählen.

Weitere Informationen finden Sie im javadoc Informationen

edit: Danke an utku karatas Ich könnte / kopiere die richtigen Glyphen in diesen Post.

    
Andreas Petersson 12.02.2009 00:23
quelle
3

Die Verwendung von case-sensitiven Benutzernamen / Passwörtern ist eine einfache Möglichkeit, die Sicherheit zu erhöhen. Daher stellt sich die Frage, wie wichtig Ihnen Sicherheit und Benutzerfreundlichkeit sind. Denken Sie daran, dass die Art und Weise, wie Sie die Groß- und Kleinschreibung untersuchen, zu Lokalisierungsproblemen führen kann. Wenn Ihnen das aber egal ist, machen Sie sich keine Sorgen.

    
Bob The Janitor 12.02.2009 17:01
quelle
2

Wenn Sie den Benutzernamen mit dem Gebietsschema Englisch absenken, kann dies zu Problemen führen. Ich würde vorschlagen, mit der invarianten Kultur weniger zu nehmen.

    
Franci Penov 12.02.2009 00:20
quelle
1

Kerberos, das auch in Windows-Umgebungen verwendet werden kann, hat Probleme mit der Groß- und Kleinschreibung. Sie können es auf eine bestimmte Weise konfigurieren, um sicherzustellen, dass keine Groß- / Kleinschreibung beachtet wird, aber es kann auch andersherum gehen.

    
Daniel C. Sobral 12.02.2009 16:52
quelle
0

Wenn Ihr einziges Ziel darin besteht, einen Benutzer von einem anderen zu unterscheiden, erscheint es logisch, dass Sie mehr als einen Fall als einen Faktor sehen möchten.

    
BC. 12.02.2009 00:13
quelle
0

Es hängt vom Kontext ab, aber im Informix-Dialekt von SQL gibt es "Eigentümer" (im Prinzip äquivalent zu einem Schema in Standard-SQL), und wie Sie den Eigentümernamen schreiben, ist wichtig.

%Vor%

Die zwei zitierten Namen sind definitiv verschieden; Die beiden Namen ohne Namen werden auf denselben Namen abgebildet, der (abhängig vom Datenbankmodus) einer der beiden anderen Namen sein kann. Es gibt einen Code, der die Konvertierung von Groß- und Kleinschreibung für die Namen (ohne Anführungszeichen) übernimmt. Glücklicherweise müssen Sie den Namen meistens nicht angeben, und wenn Sie das tun, schreiben Sie den Namen ohne Anführungszeichen, und alles funktioniert. oder Sie schreiben den Namen mit Anführungszeichen und sind konsistent und es funktioniert alles. Gelegentlich müssen Leute wie ich die Details wirklich verstehen, um Programme trotz aller Reifen vernünftig arbeiten zu lassen.

Auch (wie Stephen bemerkte) Unix-Logins unterscheiden zwischen Groß- und Kleinschreibung und waren schon immer. Ich glaube, dass Windows-Logins meistens nicht zwischen Groß- und Kleinschreibung unterscheiden - aber ich experimentiere nicht damit (es gibt zu viele Möglichkeiten, sich über Windows zu ärgern, ohne dem Spiel diese Art Tricks hinzuzufügen).

Wenn Sie wirklich jemanden mit Unix verwechseln wollen, geben Sie ihm einen numerischen Benutzernamen (z. B. 123), aber geben Sie ihm eine andere UID (z. B. 234).

    
Jonathan Leffler 12.02.2009 00:44
quelle
0

Ich habe noch nie ein System kennengelernt, das die Groß- und Kleinschreibung bei Benutzernamen beachtet (und auch nicht möchte).

Höchstwahrscheinlich erzwingt der Code am Eintrittspunkt Kleinbuchstaben, um spätere Probleme mit der Groß- und Kleinschreibung zu vermeiden.

    
Andrew Grant 12.02.2009 00:14
quelle

Tags und Links