Agak tidak penting tapi itu membuatku penasaran.
Saya baru saja masuk ke database Oracle 10g untuk pertama kalinya menggunakan Oracle SQL Developer Tools.
Saya menggunakan login pengguna umum yang bukan nama saya (nottstest2), dari mesin yang disebut sesuatu yang bukan nama saya (cukini). Nama saya tidak ada dalam database dan tidak terkait dengan login.
Namun, log server menunjukkan koneksi dari "Jon Hopkins".
Bagaimana dia tahu siapa aku? Apakah ini ditarik dari login Windows saya dalam beberapa cara (meskipun saya tidak menggunakan satu masuk)?
oracle
oracle-sql-developer
Jon Hopkins
sumber
sumber
Jawaban:
Bagaimana Anda masuk
courgette
? Apakah nama pengguna itu mengidentifikasi Anda?Anda dapat memeriksanya dengan menjalankan
Ruang nama USERENV dapat mengambil banyak informasi berbeda tentang pengguna dan lingkungannya. Cari tahu lebih lanjut .
sumber
Klien Oracle (driver alias) tahu siapa Anda di sistem operasi Anda (karena kode itu berjalan di komputer Anda ).
Informasi ini dikirimkan sebagai bagian dari proses login.
Bergantung pada aplikasi dan tipe driver Anda (OCI / JDBC) bahkan mengirimkan informasi seperti nama komputer Anda.
Jika Anda bisa, jalankan a
SELECT * FROM v$session WHERE sid = userenv('SID')
dan Anda akan melihat semua informasi yang diungkapkan pengemudi tentang lingkungan Anda.Anda mungkin tidak dapat meminta sesi $ $ karena itu membutuhkan hak istimewa non-standar.
sumber
Apakah Anda menggunakan server LDAP untuk mengotentikasi login (mis. Microsoft Active Directory, Novel eDirectory, dll.)? Oracle dapat menginterogasinya, berdasarkan login sesi OS Anda, seperti yang Anda sarankan, untuk mendapatkan nama asli Anda.
sumber