Asp.Net-Foren werden im Folgenden als ANF, Version 2.0, bezeichnet. Dieser Artikel ist eine fortlaufende Darstellung der Koeffizienten. Er enthält lediglich eine Zusammenfassung der heutigen Arbeit und hat keinen technischen Inhalt.
Das bestehende System verfügt bereits über einen eigenen Satz von Benutzersystemen, die mit ANF verbunden werden müssen. Wenn sich bestehende Systembenutzer registrieren, anmelden und Passwörter ändern, müssen diese entsprechend im ANF widergespiegelt werden. ANF-Benutzeränderungen sind nicht erforderlich, um bestehende Systeme zu beeinflussen, sondern nur eine einseitige Synchronisierung.
Finden Sie eine einfache Möglichkeit, die Integration abzuschließen und gleichzeitig so wenig vorhandenen Code wie möglich zu berühren. Ich habe mir zuvor den CnForums-Integrationsplan von Baoyu mit dem vorhandenen System angesehen und mich schließlich dazu entschieden, faul zu sein und nach den oben genannten Aktionen des vorhandenen Systems die benutzerbezogenen Informationen und den Vorgangstyp an die URL anzuhängen und sie zur Verarbeitung an eine neue Seite weiterzuleiten damit verbundene Operationen in der ANF.
Diese neue Seite heißt vorerst „bridge.aspx“. Sie muss natürlich in einem ANF-Projekt erstellt werden und alle verwendeten Elemente müssen verwendet werden. Sie ist für den Empfang von Benutzernamen, Passwort und anderen Informationen und die anschließende Durchführung der entsprechenden ANF verantwortlich Operationen.
Die Registrierung
ist sehr einfach. Ich erhalte Informationen von Request. Wenn wir keine E-Mail in unserem System haben, müssen wir einfach „AccountStatus“ auf „Pass“ und „IsAnonymous“ setzen ausschalten. Der Bool-Parameter in Users.Create gibt an, ob eine E-Mail mit der Meldung über die erfolgreiche Registrierung an den Benutzer gesendet werden soll. Natürlich habe ich diese Funktion deaktiviert, wenn keine E-Mail vorhanden war.
Beachten Sie, dass ich überall Fehler erkenne, ohne sie zurückzugeben. Sie müssen dies nicht tun.
öffentliches void Register()
{
versuchen
{
Benutzer user = new User();
user.Username = Benutzername;
user.Password = Passwort;
user.Email = " [email protected] ";
user.AccountStatus = UserAccountStatus.Approved;
user.IsAnonymous = false;
Users.Create(user, false);
}
fangen
{
}
}
Die Anmeldung
wird grundsätzlich kopiert und eingefügt. Achten Sie auf das Setcookie am Ende, das der Schlüssel zur synchronen Anmeldung ist.
public void Login()
{
versuchen
{
Benutzer userToLogin = new User();
userToLogin.Username = Benutzername;
userToLogin.Password = Passwort;
LoginUserStatus loginStatus = Users.ValidUser(userToLogin);
if (loginStatus == LoginUserStatus.Success)
{
if (!Globals.GetSiteSettings().AllowLogin)
{
bool erlaubt = false;
int userid = Users.FindUserByUsername(userToLogin.Username).UserID;
ArrayList Roles = Roles.GetRoles(userid);
foreach (Rolle Rolle in Rollen)
{
if (role.Name == „Site-Administratoren“ || role.Name == „Globale Administratoren“)
{
erlaubt = wahr;
brechen;
}
}
wenn (!erlaubt)
{
zurückkehren;
}
}
set_Cookie(userToLogin.Username, "1");
}
}
fangen
{
}
}
, dass das Passwort geändert wird
, basiert auf der bereits erfolgten Anmeldung. Wenn Ihre Annahme nicht so ist, müssen Sie Ihr eigenes Urteil hinzufügen.
public void ChangePassword()
{
versuchen
{
ForumContext forumContext = ForumContext.Current;
Benutzer user = forumContext.User;
if (Benutzer != null)
{
user.ChangePassword(Password, NewPassword);
}
}
fangen
{
}
}
Cookie setzen
public void set_Cookie(string Username, string Selet_item)
{
if(Selet_item == "0")
{
FormsAuthentication.SetAuthCookie(Benutzername,false);
}
anders
{
ForumContext forumContext = ForumContext.Current;
FormsAuthentication.SetAuthCookie(Benutzername,true);
forumContext.Context.Response.Cookies[FormsAuthentication.FormsCookieName].Expires=DateTime.
_Now.AddDays(System.Convert.ToInt32(Selet_item));
}
}
Nach der Registrierung, Anmeldung und Änderung des vorhandenen Systems ist die Response.Redirect-Seite in Ordnung. Wenn Ihnen Redirect nicht gefällt, reichen Server.Transfer oder xmlhttp aus. Ein weiterer wichtiger Punkt ist, dass die von Ihnen übertragene Zeichenfolge verschlüsselt sein muss, sonst kann sie nicht geschrieben werden ... ※¥※×%※×, wenn es immer noch nicht sicher ist, ermitteln Sie anhand der IP, wer auf diese Seite zugreifen kann!