SQL Datenbankanmeldung: Abfrage USERID

22. Oktober 2007 15:33

Hallo an alle,

wir haben mal folgendes Problem: Bei uns steht eine Umstellung auf SQL 4.0SP3 an. Früher hatten wir Native 3.7B. Beim Anmelden wurde immer der Benutzername automatisch groß geschrieben. Deshalb sehen alle unsere Abfragen nach BenutzerID so aus:
Code:
IF USERID = 'ADMIN' THEN
   // mache irgendwas

Die Vorbereitung läuft auf Hochtouren. Wir haben aber jetzt gemerkt, dass bei der Anmeldung im SQL die Groß-und Kleinschreibung der BenutzerID beachtet wird. Also kann man sich als "admin" oder als "ADMIN" anmelden. Beides funktioniert super, bloß die obige Abfrage funktioniert nur wenn man sich als "großen" Admin anmeldet.
Kann uns vielleicht jemand helfen oder hatte schonmal jemand so ein Problem?
Vielen Dank für eure Tipps

22. Oktober 2007 15:45

Hallo Irina,

Du könntest die UserId per Code in Gross- oder Kleinbuchstaben umwandeln und dann abprüfen.

siehe Mark's Seite
http://www.navision24.de/befehle/uppercase.html
http://www.navision24.de/befehle/lowercase.html

Somit wäre es egal, ob man sich als "Klein"- oder "Gross"-Admin anmeldet.

MfG
Christian

22. Oktober 2007 16:38

Hallo Christian,

danke für deine schnelle Antwort. Das, was du vorgeschlagen hast, wollen wir, wenn's geht :roll: , vermeiden. Es gibt bestimmt mehr als 100 Objekten, wo das angepasst werden soll. Die Entwicklungen dieser Art stammen nicht von uns, deshalb besteht auch das Problem mit "allen Stellen finden". Das lässt sich allerdings ermöglichen, wenn man alle Objekte mit dem Developer's Toolkit untersucht. Dafür braucht mann bestimmt eine menge Zeit. Vielleicht hat jemand noch die andere Idee :?:

22. Oktober 2007 18:18

Hi!

Na ja, vielleicht kannst Du sie Objekte alle in eine Text-Datei exportieren und mit simplen "Suchen & Ersetzen" vorgehen:

Suchen nach: "IF USERID = 'ADMIN'"
Ersetzten mit: "IF UPPERCASE(USERID) ='ADMIN'"

Ich empfehle dazu den PSPad zu verwenden, hier kann man sich auch eine Liste der gefundenen Zeilen anzeigen lassen.
(Freeware unter http://www.pspad.de/)

Sollte doch schnell gehen; mit 'ner hohen Erfolgsquote ...

22. Oktober 2007 18:43

<Ironie An>
Alternativ könnte man es auch als "Sicherheits-Feature" betrachten, so dass der "Admin" die Funktionen nur Aufrufen kann, wenn er sich als ADMIN anmeldet.
Meldet es sich als "admin" oder "Admin" oder ... an, so profitiert er nicht von seinen Sonderrechten.
<Ironie Aus>

22. Oktober 2007 19:06

Hi Stryk,
danke für deine Antwort. Wir machen so, wie du vorgeschlagen hast :-)


P.S. @Timo Lässer
<Ironie An>
Danke für die ausführliche Hilfe.
<Ironie Aus>