Jag skulle vilja samla mer info om mina Users då de registrerar sig på min sida. Just nu har jag bara det som ingår i "CreateUserWizard" dvs namn, password, Email men saknar info som t ex adress, tel osv. Använd du Profiles, det går visst att på ett enkelt sätt söka igenom Tack för tipset. Du kan även overrida Membership klassen och därmed lägga till flera fält i din membership tabell. Skulle man kunna säga att din "MySqlMembershipProvider" kan användas även mot en SQL-databas vars Connectionstring anges i web.config?? Ja, men då behöver du inte overrida alla metoder eftersom det är default att använda en SQL databas. Det du får overrida är alla metoder som använder sig av MembershipUser objektet och lägga till parametrar för att använda egenskaper du satt i din custom typ. Tack så jättemycket för hjälpen. Så är det nog när du kör mot SQL Server.mer info vid registrering
Jag har även försökt med "profiles" men information sparas då i tabelen aspnet_profiles i följande format: 1:adress:S:21:5:telefon:S:26:10.........
Problemet är då att jag inte kan göra en sökning på t ex vilken "User" som har en viss telnummer. Det bästa skulle vara om jag kunde utöka tabellen astnet_membership men vet inte hur man gör detta.
Är det nån som har något bra förslag på detta???Sv: mer info vid registrering
efter ett visst telefonnummer. I ett exempel på
http://www.theserverside.net/tt/articles/showarticle.tss?id=CreatingProfileProvider
Söker dem efter vilka användare som har sin födelse dag ett visst
datum. Och födelsedatumet är sparat i en profilegenskap.
Varför krångla till det?Sv:mer info vid registrering
Jag är inte så bra på C# men jag ska försöka "översätta" det här till VB och testa om det funka...Sv: mer info vid registrering
Jag har gjort detta för MySql för att få hela membership funktionaliteten att fungera där:
http://www.pellesoft.se/area/articles/article.aspx?artid=975
Koden är för C# dock.Sv:mer info vid registrering
Sv: mer info vid registrering
Denna kan du använda som custom typ och utöka om du vill. Alla extra egenskaper som du anger här här måste du då dels skapa kolumner för i DB och dels overrida de metoder som använder instanser av denna klass.
// Klass som ärver från MembershipUser
public class CustomMembershipUser : MembershipUser
{
// Properties that extends the base class
private string _FirstName;
private string _LastName;
public string FirstName
{
get { return _FirstName; }
set { _FirstName = value; }
}
public string LastName
{
get { return _LastName; }
set { _LastName = value; }
}
// Overrida baseklassen med dina nya properties
public CustomMembershipUser(string providername,
string username,
object providerUserKey,
string email,
string passwordQuestion,
string comment,
bool isApproved,
bool isLockedOut,
DateTime creationDate,
DateTime lastLoginDate,
DateTime lastActivityDate,
DateTime lastPasswordChangedDate,
DateTime lastLockedOutDate,
string firstname,
string lastname)
:
base(providername,
username,
providerUserKey,
email,
passwordQuestion,
comment,
isApproved,
isLockedOut,
creationDate,
lastLoginDate,
lastActivityDate,
lastPasswordChangedDate,
lastLockedOutDate)
{
this.FirstName = firstname;
this.LastName = lastname;
}
}
Du kan kolla i filen MySqlMembershipProvider efter metoderna nedan och trixa om dessa så att de pratar med en SQL databas istället. Kan vara så att du behöver ändra syntax till TSQL istället, bl.a. vid parameter referenser där det används ? skall det vara @ istället.
Metoder:
CreateUser() som overridas och returnerar den nya typen MySqlMembershipUser CreateUser. Viktig!
GetAllUsers()
GetUser()
GetUserFromReader()
UpdateUser()
FindUsersByName()
FindUsersByEmail()
Sv:mer info vid registrering
Jag ska försöka mig på det här och vi får se hur långt jag kommer. Jag har kollat en hel del på MemberskipProvider och det som bekymrar mig mest är att jag inte ser varnånstans anropas de lagrade procedurer som man får efter att jag kört aspnet_regsql.exe.
Om jag har förstått det rätt använder man lagrade procedurer för att lägga till, uppdatera, tabort users osvSv: mer info vid registrering
MySql stöder inte Stored Procedures förrän efter version 5.0 så därför är dessa inte med där...