Forum Asp.Net selanjutnya disebut sebagai ANF, versi 2.0. Artikel ini adalah penghitungan koefisien. Artikel ini hanya mencatat pekerjaan hari ini dan tidak memiliki konten teknis.
Sistem yang ada sudah memiliki kumpulan sistem penggunanya sendiri, yang perlu dihubungkan ke ANF. Ketika pengguna sistem yang ada mendaftar, masuk, dan mengubah kata sandi, mereka harus tercermin dalam ANF. Perubahan pengguna ANF tidak diperlukan untuk mempengaruhi sistem yang ada, hanya sinkronisasi satu arah.
Temukan cara sederhana untuk menyelesaikan integrasi sambil menyentuh sesedikit mungkin kode yang ada. Saya melihat rencana integrasi CnForums Baoyu dengan sistem yang ada sebelumnya, dan akhirnya memutuskan untuk bermalas-malasan dan menambahkan informasi terkait pengguna dan jenis operasi ke url setelah tindakan di atas dari sistem yang ada dan meneruskannya ke halaman baru untuk memproses operasi terkait di ANF.
Halaman baru ini untuk saat ini disebut bridge.aspx. Tentu saja, halaman tersebut harus dibangun dalam proyek ANF dan semua item penggunaannya harus digunakan. Halaman ini bertanggung jawab untuk menerima nama pengguna, kata sandi, dan informasi lainnya dan kemudian melakukan ANF yang sesuai operasi.
Pendaftarannya
sangat sederhana. Nama Pengguna dan Kata Sandi saya adalah atribut yang dikemas sendiri. Saya mendapatkan informasi dari Permintaan. Jika kami tidak memiliki Email di sistem kami, kami cukup menambahkannya. Selanjutnya, kami perlu mengatur AccountStatus ke Pass dan IsAnonymous ke mematikan. Parameter bool di Users.Create mewakili apakah akan mengirim email yang menunjukkan pendaftaran berhasil kepada pengguna.
Perhatikan bahwa saya menemukan kesalahan di mana-mana tanpa mengembalikannya. Anda tidak perlu melakukan ini.
kekosongan publik Daftar()
{
mencoba
{
Pengguna pengguna = Pengguna baru();
pengguna.Nama Pengguna = Nama Pengguna;
pengguna.Kata Sandi = Kata Sandi;
pengguna.Email = " [email protected] ";
pengguna.AccountStatus = UserAccountStatus.Disetujui;
pengguna.IsAnonymous = false;
Pengguna.Buat(pengguna, salah);
}
menangkap
{
}
}
Login
pada dasarnya disalin dan ditempel. Perhatikan setcookie di bagian akhir, yang merupakan kunci untuk login sinkron.
login kekosongan publik()
{
mencoba
{
Pengguna userToLogin = Pengguna baru();
userToLogin.Nama Pengguna = Nama Pengguna;
userToLogin.Password = Kata Sandi;
userToLogin
);
{
jika (!Global.GetSiteSettings().AllowLogin)
{
bool diperbolehkan = false;
int userid = Pengguna.FindUserByUsername(userToLogin.Username).UserID;
Peran ArrayList = Roles.GetRoles(userid);
foreach (Peran peran dalam peran)
{
if (role.Name == "Administrator Situs" || role.Name == "Administrator Global")
{
diperbolehkan = benar;
merusak;
}
}
jika boleh)
{
kembali;
}
}
set_Cookie(penggunaToLogin.Nama Pengguna, "1");
}
}
menangkap
{
}
}
penggantian password
didasarkan pada login yang sudah terjadi. Jika asumsi Anda tidak seperti ini, Anda perlu menambahkan penilaian Anda sendiri.
kekosongan publik Ubah Kata Sandi ()
{
mencoba
{
ForumContext forumContext = ForumContext.Saat ini;
Pengguna pengguna = forumContext.User;
jika (pengguna!= null)
{
pengguna.UbahPassword(Kata Sandi, Kata Sandi Baru);
}
}
menangkap
{
}
}
Setel cookie
public void set_Cookie(string Nama Pengguna, string Selet_item)
{
if(Selet_item == "0")
{
FormsAuthentication.SetAuthCookie(Nama Pengguna,salah);
}
kalau tidak
{
ForumContext forumContext = ForumContext.Saat ini;
FormsAuthentication.SetAuthCookie(Nama Pengguna,benar);
forumContext.Context.Response.Cookies[FormsAuthentication.FormsCookieName].Kedaluwarsa=DateTime.
_Sekarang.AddDays(System.Convert.ToInt32(Selet_item));
}
}
Terakhir, setelah mendaftar, login, dan memodifikasi sistem yang ada, halaman Response.Redirect akan baik-baik saja. Jika Anda tidak menyukai Redirect, Server.Transfer, atau xmlhttp bisa digunakan. Poin penting lainnya adalah string yang Anda kirimkan harus dienkripsi, jika tidak maka tidak dapat ditulis... ※¥※×%※×, jika masih belum aman, gunakan IP untuk menentukan siapa yang dapat mengakses halaman ini!