يُشار إلى منتديات Asp.Net فيما بعد باسم ANF، الإصدار 2.0. هذه المقالة عبارة عن حساب جاري للمعاملات، وهي تسجل عمل اليوم فقط ولا تحتوي على أي محتوى تقني.
يحتوي النظام الحالي بالفعل على مجموعة خاصة به من أنظمة المستخدم، والتي تحتاج إلى الاتصال بـ ANF. ومن المطلوب أنه عندما يقوم مستخدمو النظام الحاليون بالتسجيل وتسجيل الدخول وتغيير كلمات المرور، يجب أن تنعكس في ANF وفقًا لذلك. تغييرات مستخدم ANF ليست مطلوبة للتأثير على الأنظمة الحالية، فقط المزامنة في اتجاه واحد.
ابحث عن طريقة بسيطة لإكمال التكامل مع لمس أقل قدر ممكن من التعليمات البرمجية الموجودة. لقد ألقيت نظرة على خطة تكامل Baoyu CnForums مع النظام الحالي من قبل، وقررت أخيرًا أن أكون كسولًا وألحق المعلومات المتعلقة بالمستخدم ونوع العملية بعنوان URL بعد الإجراءات المذكورة أعلاه للنظام الحالي وتمريرها إلى صفحة جديدة لمعالجة العمليات ذات الصلة في ANF.
تسمى هذه الصفحة الجديدة Bridge.aspx في الوقت الحالي، بالطبع، يجب أن يتم إنشاؤها في مشروع ANF ويجب استخدام جميع عناصر الاستخدام، وهي مسؤولة عن تلقي اسم المستخدم وكلمة المرور والمعلومات الأخرى ثم تنفيذ ANF المقابلة العمليات.
التسجيل
بسيط للغاية. اسم المستخدم وكلمة المرور الخاصين بي عبارة عن سمات مجمعة ذاتيًا. أحصل على المعلومات من Request إيقاف. تمثل المعلمة المنطقية في Users.Create ما إذا كان سيتم إرسال بريد إلكتروني يشير إلى التسجيل الناجح للمستخدم، وبالطبع قمت بإيقاف تشغيله إذا لم يكن هناك بريد إلكتروني.
لاحظ أنني أكتشف الأخطاء في كل مكان دون إعادتها.
تسجيل الفراغ العام ()
{
يحاول
{
مستخدم المستخدم = مستخدم جديد ()؛
user.Username = اسم المستخدم؛
user.Password = كلمة المرور؛
user.Email = " [email protected] ";
user.AccountStatus = UserAccountStatus.Approved;
user.IsAnonymous = false;
Users.Create(user, false);
}
يمسك
{
}
}
تسجيل الدخول
ولصقه بشكل أساسي. انتبه إلى ملف تعريف الارتباط المحدد في النهاية، وهو مفتاح تسجيل الدخول المتزامن.
تسجيل دخول عام باطل ()
{
يحاول
{
مستخدم userToLogin = مستخدم جديد ()؛
userToLogin.Username = اسم المستخدم؛
userToLogin.Password = كلمة المرور؛
userToLogin
);
{
إذا (!Globals.GetSiteSettings().AllowLogin)
{
bool المسموح به = false؛
int userid = Users.FindUserByUsername(userToLogin.Username).UserID;
أدوار ArrayList = roles.GetRoles(userid)
;
{
إذا (role.Name == "مسؤولو الموقع" || role.Name == "المسؤولون العموميون")
{
مسموح = صحيح؛
استراحة؛
}
}
إذا (! سمح)
{
يعود؛
}
}
set_Cookie(userToLogin.Username, "1");
}
}
يمسك
{
}
}
تغيير كلمة المرور
على تسجيل الدخول الذي يحدث بالفعل. إذا لم يكن افتراضك على هذا النحو، فأنت بحاجة إلى إضافة حكمك الخاص.
الفراغ العام ChangePassword ()
{
يحاول
{
ForumContext forumContext = ForumContext.Current;
مستخدم المستخدم = forumContext.User؛
إذا (المستخدم! = فارغ)
{
user.ChangePassword(Password, NewPassword);
}
}
يمسك
{
}
}
قم بتعيين ملف تعريف الارتباط
العام void set_Cookie(سلسلة اسم المستخدم، سلسلة Selet_item)
{
إذا (Selet_item == "0")
{
FormsAuthentication.SetAuthCookie(Username,false);
}
آخر
{
ForumContext forumContext = ForumContext.Current;
FormsAuthentication.SetAuthCookie(Username,true);
forumContext.Context.Response.Cookies[FormsAuthentication.FormsCookieName].Expires=DateTime.
_Now.AddDays(System.Convert.ToInt32(Selet_item));
}
}
أخيرًا، بعد التسجيل وتسجيل الدخول وتعديل النظام الحالي، ستكون صفحة Response.Redirect على ما يرام. إذا كنت لا تحب إعادة التوجيه، فسيفعل ذلك Server.Transfer أو xmlhttp، ويعتمد ذلك على العرض الذي تحتاجه. نقطة أخرى مهمة هي أن السلسلة التي ترسلها يجب أن تكون مشفرة، وإلا فلا يمكن كتابتها... ※¥※×%※×، إذا كان لا يزال غير آمن، استخدم IP لتحديد من يمكنه الوصول إلى هذه الصفحة!