1. ليس لدينا خادم حقيقي، نحن فقط نستأجر مساحة .net2.0 + SQLserver، ويتم إصلاح اسم قاعدة بيانات SQL.
2. من المستحيل أن يقوم موفر المساحة بتعيين مصدر البيانات لنا أو منحك أذونات قاعدة بيانات aspnetdb.
3. ليس لدينا أذونات WindowsMicrosoft.NetFrameworkv2.xConfig على الخادم.
بمعرفة النقاط الثلاث المذكورة أعلاه، إذا قمت بنقل المشروع الذي تم اختباره محليًا مباشرة إلى الخادم، فسيكون هناك خطأ بالتأكيد (لأنه يستدعي WindowsMicrosoft.NetFrameworkv2.xConfig افتراضيًا). الحل هو بعد استيراد جميع محتويات قاعدة بيانات aspnetdb إلى قاعدة بيانات SQL البعيدة الخاصة بك، قم بتحديد سلسلة اتصال قاعدة بيانات web.config الخاصة بالمشروع.
web.config
<?xml version="1.0"?>
<!--
ملاحظة: بدلاً من تحرير هذا الملف يدويًا، يمكنك أيضًا استخدام
أداة إدارة الويب لتكوين إعدادات التطبيق. يمكنك استخدام
"موقع الويب" -> خيار "تكوين Asp.Net".
توجد قائمة كاملة بالإعدادات والتعليقات التوضيحية على
Machine.config.comments، والذي يوجد عادة في
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuration xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--تعريف اتصال قاعدة البيانات->
<add name="DbName" ConnectionString="معلومات الأمان المستمرة=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connectionStrings>
<إعدادات التطبيق>
</appSettings>
<system.web>
<!--
اتصال قاعدة بيانات ConnectionStringName. يجب تعيين هذا في web.config
EnablePasswordRetrieval يحصل على قيمة تشير إلى ما إذا كان موفر العضوية الحالي قد تم تكوينه للسماح للمستخدمين باسترداد كلمات المرور الخاصة بهم.
EnablePasswordReset يحصل على قيمة تشير إلى ما إذا كان موفر العضوية الحالي قد تم تكوينه للسماح للمستخدمين بإعادة تعيين كلمات المرور الخاصة بهم.
requireQuestionAndAnswer يحصل على قيمة تشير إلى ما إذا كان موفر العضوية الافتراضي يطلب من المستخدمين الإجابة على سؤال كلمة المرور لإعادة تعيين كلمة المرور واسترجاعها.
applicationName يحصل على اسم التطبيق أو يحدده.
requireUniqueEmail يشير إلى ما إذا كان يجب على المستخدم تقديم قيمة عنوان بريد إلكتروني فريدة عند إنشاء المستخدم.
يشير تنسيق كلمة المرور إلى التنسيق الذي يتم به تخزين كلمات المرور في مخزن بيانات العضوية. تعليمات مفصلة أدناه
maxInvalidPasswordAttempts يحصل على عدد كلمات المرور غير الصالحة أو عدد محاولات الإجابة على كلمة المرور غير الصالحة المسموح بها قبل حظر دخول المستخدم إلى العضوية.
minRequiredPasswordLength يحصل على الحد الأدنى للطول المطلوب لكلمة المرور.
minRequiredNonalphanumericCharacters يحصل على الحد الأدنى لعدد الأحرف الخاصة التي يجب تضمينها في كلمة المرور الصالحة.
passwordAttemptWindow يحصل على الحد الأقصى لعدد محاولات الإجابة على كلمة المرور غير الصالحة أو كلمة المرور غير الصالحة المسموح بها قبل إغلاق مستخدم العضوية، خلال دقائق.
وصف تفصيلي لـPasswordFormat
خاصية تشير إلى التنسيق الذي يتم تخزين كلمات المرور به. يمكن تخزين كلمات المرور بتنسيقات كلمات مرور واضحة ومشفرة ومجزأة. يتم تخزين كلمات المرور الواضحة في نص واضح، مما يؤدي إلى تحسين أداء تخزين كلمات المرور واسترجاعها، ولكنه أقل أمانًا ويمكن قراءتها بسهولة عند تعرض أمان مصدر البيانات للخطر. يتم تشفير كلمات المرور المشفرة عند تخزينها ويمكن فك تشفيرها عند مقارنة كلمات المرور أو استرجاعها. تتطلب كلمات المرور هذه معالجة إضافية أثناء التخزين والاسترداد، ولكنها أكثر أمانًا ولا يمكن استرجاعها بسهولة عند تعرض أمان مصدر البيانات للخطر. تتم تجزئة كلمات المرور المجزأة باستخدام خوارزمية تجزئة أحادية الاتجاه وقيمة ملح يتم إنشاؤها عشوائيًا عند تخزينها في قاعدة البيانات. عند التحقق من كلمة المرور، تتم تجزئة كلمة المرور مع قيمة الملح الموجودة في قاعدة البيانات للتحقق منها. غير قادر على استرداد كلمة المرور المجزأة.
-->
<roleManager ممكّن = "true" />
<العضوية>
<المقدمون>
<إزالة الاسم = "AspNetSqlMembershipProvider"/>
<إضافة اسم = "AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider، System.Web، الإصدار=2.0.0.0، الثقافة=محايدة، PublicKeyToken=b03f5f7f11d50a3a"
ConnectionStringName = "DbName"
تمكينPasswordRetrieval = "خطأ"
تمكين كلمة المرور = "صحيح"
يتطلب سؤال وجواب = "صحيح"
اسم التطبيق = "/"
يتطلبUniqueEmail = "خطأ"
تنسيق كلمة المرور = "مجزأ"
maxInvalidPasswordAttempts = "5"
الحد الأدنى لكلمة المرور المطلوبة = "6"
الحد الأدنى المطلوبNonalphanumericCharacters = "0"
كلمة المرور AttemptWindow = "10"
كلمة المرورStrengthRegularExpression = "" />
</المقدمين>
</العضوية>
<!--
قم بتعيين التصحيح التجميعي = "صحيح" لإدراج رموز التصحيح
في الصفحة المجمعة. ولكن منذ هذا سوف
يؤثر على الأداء، لذا يجب ضبطه فقط أثناء التطوير
هذه القيمة.
خيارات فيجوال بيسك:
سيؤدي الإعداد الصارم = "true" إلى تعطيل الكل
نوع التحويل مع فقدان البيانات.
سيؤدي تعيين صريح = "صحيح" إلى فرض إعلان كافة المتغيرات.
-->
<تصحيح التجميع = "true" الصارم = "false" صريح = "true"/>
<الصفحات>
<مساحات الأسماء>
<واضح/>
<أضف مساحة الاسم = "النظام"/>
<أضف مساحة الاسم = "System.Collections"/>
<أضف مساحة الاسم = "System.Collections.Specialized"/>
<أضف مساحة الاسم = "System.Configuration"/>
<أضف مساحة الاسم = "System.Text"/>
<أضف مساحة الاسم = "System.Text.RegularExpressions"/>
<أضف مساحة الاسم = "System.Web"/>
<أضف مساحة الاسم = "System.Web.Caching"/>
<أضف مساحة الاسم = "System.Web.SessionState"/>
<أضف مساحة الاسم = "System.Web.Security"/>
<أضف مساحة الاسم = "System.Web.Profile"/>
<أضف مساحة الاسم = "System.Web.UI"/>
<أضف مساحة الاسم = "System.Web.UI.WebControls"/>
<إضافة مساحة الاسم = "System.Web.UI.WebControls.WebParts"/>
<أضف مساحة الاسم = "System.Web.UI.HtmlControls"/>
</مساحات الأسماء>
</الصفحات>
<!--
يسمح لك قسم <المصادقة> بتكوين
وضع المصادقة الآمنة
للتعرف على المستخدم الوارد.
-->
<وضع المصادقة = "النماذج" />
<!--
في حالة حدوث خطأ لم تتم معالجته أثناء تنفيذ الطلب،
يمكن تكوين خطوات المعالجة المقابلة من خلال قسم <customErrors>. خاصة،
يمكن للمطورين تكوين هذا القسم
صفحة خطأ html المراد عرضها
لاستبدال تتبع مكدس الأخطاء.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<خطأ كود الحالة = "403" إعادة التوجيه = "NoAccess.htm" />
<خطأ كود الحالة = "404" إعادة التوجيه = "FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
ملاحظة: التعليق على عقدة العضوية مستنسخ، لقد نسيت العنوان.
http://lcx.cnblogs.com/archive/2006/06/29/438836.html