سؤال

أنا أستخدم الأمان المتكامل في تطبيق ASP.net، ويتم استضافة كل من IIS وSQL Server على نفس جهاز الخادم الذي يعمل بنظام التشغيل Windows Server 2008 R2.

هل من الممكن السماح للمستخدمين بالوصول إلى التطبيق عبر الشبكة والمستخدمين الذين قاموا بتسجيل الدخول ولكن لا يسمح لهم بالوصول إلى قاعدة البيانات مباشرة أو عبر SQL Server Management Studio؟

أحاول حماية الوصول إلى قاعدة البيانات لأنه سيتم نشر تطبيقي على خادم العميل في مقر العميل.

هذه هي سلسلة الاتصال الخاصة بي التي أستخدمها حاليًا

<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="LocalSqlServer" providerName="System.Data.SqlClient" />

<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="MainAppConnectionString" providerName="System.Data.SqlClient" />

هاتان هما سلسلتا الاتصال اللتان أستخدمهما حاليًا، إحداهما مخصصة لمصادقة ASP.net والثانية يستخدمها تطبيقي.كلتا السلسلتين متماثلتان ومن نفس قاعدة البيانات.

أي اقتراحات؟

هل كانت مفيدة؟

المحلول

ليس من الممكن "تأمين" قاعدة بيانات تعمل في مقر العميل.يمكن لموظفي العميل الحصول على كلمة المرور من سلسلة اتصال ASP.Net.يمكن لمسؤول المجال دائماً الوصول إلى قاعدة البيانات (توجد مقالة MSDN فعلية تصف العملية: الاتصال بـ SQL Server عندما يكون مسؤولو النظام مقفلين).

إذا كنت تريد إخفاء الملكية الفكرية التي تشعر أن قاعدة بياناتك تمتلكها، فإن الحل الوحيد لديك هو عدم نشر قاعدة البيانات في مقر العميل (استخدم قاعدة بيانات مستضافة مثل SQL Azure على سبيل المثال).

إذا كنت تريد ببساطة منع العميل من التدخل في قاعدة البيانات، فيمكنك النص على ذلك في العقد.التدقيق والكشف عن التدخل يكون ممكن.

نصائح أخرى

نعم، هذا ممكن تماما.لا يمكن تسجيل الدخول الذي قام بتسجيل الدخول إلى ASP.NET باستخدام أمان متكامل الدخول إلى SQL Server مع نفس بيانات الاعتماد.كلاهما غير متصل تماما.من الممكن فقط إذا تم تعيين SQL Server للسماح لهم بالوصول إليها.

نصيحة بلدي ستكون لإنشاء تسجيل الدخول والمستخدمين SQL، ومنحهم فقط الوصول إلى SQL Server.في التطبيق الخاص بك، عند إنشاء سلسلة الاتصال، لا تقم بتعيين الأمان المتكامل إلى TRUE، والسماح للمستخدم بإدخال اسم مستخدم SQL وكلمة المرور الخاصة به للوصول إلى قاعدة البيانات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top