ID Artikel: 308312 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0 Bagaimana menggunakan aplikasi peran dengan proyek-proyek Access dan SQL Server 2000 Desktop Edition
Lanjutan: Memerlukan ahli coding, interoperabilitas, dan multiuser
keterampilan. Artikel ini hanya berlaku untuk proyek Microsoft Access (.adp). Untuk versi Microsoft Access 2000 artikel ini,
Lihat 318816
(http://support.microsoft.com/kb/318816/
)
. RINGKASAN Artikel ini menjelaskan kemampuan, keterbatasan,
dan workarounds untuk menggunakan Microsoft SQL Server aplikasi peran dalam
Microsoft Access proyek (ADP). INFORMASI LEBIH LANJUT Dalam SQL Server, Anda dapat membuat peran database untuk lebih mudah
Administrasi perizinan dalam database. Alih-alih memberikan individu
izin untuk setiap pengguna secara terpisah, Anda dapat mengelompokkan pengguna yang sama
izin kebutuhan dengan membuat mereka anggota peran biasa database yang sama, dan
kemudian menetapkan izin peran database itu sendiri. Kecuali tertentu
izin secara eksplisit menyangkal di tempat lain, anggota pengguna akan mendapatkan
izin diberikan untuk peran database. Sementara biasa database peran sangat berguna untuk situasi di mana Anda ingin pengguna dapat melakukan ad hoc pertanyaan atau update ke database mereka sendiri, mereka tidak selalu sesuai. Kadang-kadang, Anda mungkin ingin pengguna hanya untuk memiliki izin tertentu ketika mereka menggunakan aplikasi tertentu, dan Anda tidak ingin untuk dapat melihat atau mengubah data di luar aplikasi. Salah satu metode yang sering digunakan untuk bekerja di sekitar ini adalah untuk hanya memberikan izin yang diperlukan untuk satu SQL Server account pengguna. Pengguna aktual mungkin memiliki izin untuk menghubungkan ke database tapi tidak untuk melihat atau memodifikasi data. Setelah menghubungkan pengguna untuk database menggunakan account pengguna individu, ADP bisa kemudian pemrograman menyambung menggunakan kredensial account pengguna yang tidak memiliki izin. Sementara ini bisa efektif, tidak memungkinkan Anda untuk membedakan antara pengguna dalam database atau untuk menentukan pengguna yang dilakukan tindakan tertentu. Peran aplikasi yang dirancang untuk bekerja di sekitar pembatasan ini. Peran aplikasi, tidak seperti biasa database peran, tidak memiliki anggota sendiri. Sebaliknya, pengguna log on ke SQL Server dan terhubung ke database menggunakan kredensial mereka sendiri. Pada saat itu, keamanan konteks peran aplikasi dapat diterapkan secara pemrograman untuk sambungan oleh menggunakan sp_setapprole prosedur yang tersimpan. Dalam SQL Server, masing-masing pengguna yang masih dibedakan tetapi izin yang tersedia dalam tertentu sambungan terbatas izin peran aplikasi. Pengguna individu perizinan, apakah kecil atau besar, tidak lagi dianggap. Membuat peran aplikasiMicrosoft Access proyek tidak memiliki apapun desain visual alat untuk menciptakan SQL Server Security objek seperti peran aplikasi. Microsoft menganjurkan agar Anda menggunakan alat-alat klien yang disertakan dengan Versi biasa SQL Server atau Microsoft Office XP pengembang untuk menciptakan aplikasi peran dan menetapkan izin. Namun, Anda masih dapat membuat peran aplikasi dan memberikan izin yang diperlukan pemrograman oleh menggunakan Transact-SQL (T-SQL) dari ADP. Walaupun diskusi penuh SQL Keamanan server adalah di luar cakupan artikel ini, informasi tambahan dapat ditemukan di SQL Server buku secara Online Langkah-langkah berikut menunjukkan Anda bagaimana untuk membuat pemrograman aplikasi peran dan grant peran baru Pilih hak akses pada tabel:
Menerapkan peran aplikasiKomplikasi utama bila Anda menggunakan aplikasi peran dalam Proyek-proyek akses adalah bahwa akses menggunakan tiga koneksi ke SQL Server untuk menangani berbagai tugas. Idealnya, untuk menerapkan peran aplikasi untuk seluruh proyek, Anda harus melaksanakan sp_setapprole dalam konteks semua tiga sambungan. Benda-benda yang ditangani oleh setiap sambungan adalah sebagai berikut:
Meskipun koneksi # 2 dan # 3 dapat diakses cukup mudah, ada tidak ada metode yang tersedia untuk melaksanakan prosedur yang tersimpan di konteks koneksi # 1. Untungnya, sambungan ini adalah yang paling penting dari tiga dan mudah bekerja di sekitar dengan membangun pengguna Anda sendiri antarmuka (sebagai contoh, suatu bentuk switchboard-tipe) untuk menangani database objek Alih-alih mengandalkan jendela Database built-in. Berikut langkah-langkah menggunakan Northwind contoh akses proyek untuk menunjukkan bagaimana menerapkan aplikasi peran terhadap koneksi # 2 dan # 3:
Dengan desain, akses hanya menunjukkan objek dalam Database jendela yang pengguna memiliki setidaknya pilih atau mengeksekusi perizinan. Akses menggunakan koneksi # 1 untuk menentukan yang objek pengguna memiliki izin untuk. Setelah menerapkan peran aplikasi untuk koneksi # 2 dan # 3, Database jendela masih menunjukkan sama objek bahwa itu sebelumnya, meskipun pengguna mungkin tidak memiliki izin untuk semua objek, atau mungkin memiliki izin untuk lebih objek yang tidak ditampilkan. Hal ini dapat mengakibatkan perilaku tak terduga ketika Anda menggunakan jendela Database. Sebagai contoh, ketika Anda membuka tNewTable meja, "tampaknya" bahwa pengguna memiliki izin untuk mengedit dan Masukkan catatan. Masukkan catatan baru ikon di bawah meja adalah diaktifkan, dan pengguna dapat menempatkan catatan dalam edit mode. Anda tidak melihat apapun petunjuk visual yang menunjukkan sebaliknya sampai Anda mencoba untuk melakukan edit atau sisipkan, yang akan menghasilkan pesan kesalahan. Akses percaya bahwa Anda memiliki izin ketika Anda benar-benar tidak. Solusi paling efektif adalah untuk memberikan kustom antarmuka untuk pengguna dan tidak mengandalkan jendela Database. Dengan menggunakan switchboard-jenis antarmuka, Anda dapat mengontrol persis benda-benda yang pengguna memiliki akses ke. Keterbatasan lainnya dan pertimbangan keamananSubforms tidak bekerjaTidak seperti dengan benda database lain, akses tidak selalu menggunakan sambungan yang sama untuk mengambil sumber data subform. Akses sering (tapi tidak selalu) menciptakan koneksi baru ke SQL Server hanya untuk menangani subform recordset, atau untuk mengambil data lapangan menghubungkan yang menghubungkan subform bentuk utama. Karena hubungan baru ini tidak memiliki peran aplikasi yang diterapkan, izin kesalahan akan dihasilkan jika Anda tidak memiliki izin yang eksplisit untuk database objek. Sayangnya, ini berarti bahwa tidak ada cara yang dapat diandalkan untuk menggunakan terikat subforms ketika aplikasi peran diterapkan. Solusi hanya efektif adalah untuk memiliki sepenuhnya tdk dijilid subforms, dengan manipulasi data ditangani pemrograman. Ini adalah yang paling pembatasan serius ketika menggunakan aplikasi peran dalam akses. Laporan tidak bekerja Ketika Anda memiliki objek seperti tabel atau view nama terdaftar sebagai sumber data untuk laporan atau subreport, akses memeriksa untuk melihat Apakah obyek terdaftar dalam Database jendela sebelum mengambil data dari SQL Server. Karena jendela Database menggunakan sambungan yang tidak memiliki peran aplikasi yang diterapkan, galat jika Anda tidak memiliki izin yang eksplisit untuk sumber data yang mendasarinya. Untuk bekerja di sekitar masalah ini, selalu menggunakan Transact-SQL pernyataan sebagai sumber data untuk bentuk dan laporan. Sebagai contoh, menggunakan "Pilih * dari ViewName" bukan hanya "ViewName" atau "Exec StoredProcedureName" bukannya hanya "StoredProcedureName." Dengan cara ini, akses lewat Transact-SQL pernyataan langsung ke SQL Server dan mengambil data berdasarkan izin peran aplikasi. Peran publik Database Peran aplikasi mengakuisisi hak akses Database publik peran. Secara default di NorthwindCS, peran publik telah penuh izin untuk sebagian besar objek. Oleh karena itu, peran aplikasi secara umum tidak efektif. Ketika Anda menciptakan tabel tNewTable dalam "membuat Aplikasi peran"bagian, peran publik tidak diberikan izin untuk meja, dan kemudian melihat efek aplikasi peran keamanan konteks pada meja. Namun, meja lainnya mungkin tidak menunjukkan perbedaan di bawah aplikasi peran karena peran publik memiliki izin untuk orang-orang objek. VBA keamanan Karena password untuk peran aplikasi dimasukkan ke dalam aplikasi yang disebut, pengguna berpengetahuan akan mampu membaca aplikasi peran nama dan password dari sumber kode, dan kemudian menggunakan informasi tersebut untuk mendapatkan akses ke SQL Server dari yang lain aplikasi. Oleh karena itu, itu adalah ide yang baik untuk mengkompilasi ADP ke berkas ADE sehingga kode sumber tidak dapat dilihat. Minimal, menegakkan sandi pada VBA proyek. REFERENSIUntuk informasi tambahan
tentang versi Microsoft Access 2000 artikel ini, klik nomor artikel
di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft: 318816
(http://support.microsoft.com/kb/318816/EN-US/
)
ACC2000: Bagaimana menggunakan aplikasi peran dengan proyek-proyek Access dan SQL Server 2000 Desktop mesin (MSDE 2000) Untuk informasi lebih lanjut tentang GRANT, lihat SQL Server buku secara Online. The SQL Server buku secara Online ini tersedia pada Website Microsoft berikut: http://www.Microsoft.com/SQL/techinfo/productdoc/2000/default.asp Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations. Berlaku bagi:
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah. Klik disini untuk melihat versi Inggris dari artikel ini:308312
(http://support.microsoft.com/kb/308312/en-us/
)
| Sumber Lain Situs Pendukung Lain
KomunitasCari Bantuan SekarangTerjemahan Artikel
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Kembali ke atas
