Etwas unwichtig, aber meine Neugier ist geweckt.
Ich habe mich gerade zum ersten Mal mit den Oracle SQL Developer Tools bei einer Oracle 10g-Datenbank angemeldet.
Ich habe eine generische Benutzeranmeldung verwendet, die nicht mein Name ist (nottstest2), von einem Computer, der etwas heißt, das nicht mein Name ist (Zucchini). Mein Name ist nirgends in der Datenbank und ist nicht mit dem Login verbunden.
Die Server-Protokolle zeigen jedoch eine Verbindung von "Jon Hopkins".
Woher weiß es, wer ich bin? Wird es in irgendeiner Weise von meiner Windows-Anmeldung abgerufen (obwohl ich keine einmalige Anmeldung verwende)?
oracle
oracle-sql-developer
Jon Hopkins
quelle
quelle
Antworten:
Wie melden Sie sich an
courgette
? Würde dieser Benutzername Sie identifizieren?Sie können dies überprüfen, indem Sie ausführen
Der USERENV-Namespace kann viele verschiedene Informationen über den Benutzer und seine Umgebung abrufen. Erfahren Sie mehr .
quelle
Der Oracle-Client (auch als Treiber bezeichnet) weiß, wer Sie in Ihrem Betriebssystem sind (da dieser Code auf Ihrem Computer ausgeführt wird).
Diese Informationen werden im Rahmen des Anmeldevorgangs übertragen.
Abhängig von Ihrer Anwendung und Ihrem Treibertyp (OCI / JDBC) werden sogar Informationen wie der Name Ihres Computers übertragen.
Wenn Sie können, führen Sie a aus,
SELECT * FROM v$session WHERE sid = userenv('SID')
und Sie sehen alle Informationen, die der Treiber über Ihre Umgebung enthüllt hat.Möglicherweise können Sie v $ session jedoch nicht abfragen, da hierfür nicht standardmäßige Berechtigungen erforderlich sind.
quelle
Verwenden Sie einen LDAP-Server zur Authentifizierung von Anmeldungen (z. B. Microsoft Active Directory, Novel eDirectory usw.)? Oracle kann dies basierend auf Ihrem OS-Sitzungs-Login abfragen, um Ihren richtigen Namen zu erhalten.
quelle