Tjena håller på med en sida där både företag och privatpersoner ska kunna vara kunder. Jag vill använda mig av inloggningen i .NET 2. Men hur löser jag detta med databasen, jag menar med namnuppgifter med mera på kunderna. Det är ju väldigt smidigt att använda den inbyggda inloggningen så det kan väl inte vara så himla svårt att fixa till detta? Vi skiljer på inloggningsuppgifterna och den affärsbaserade datan om kunden. Det innebär att vi använder tabellerna för membership för säkerheten och sen skapar vi två tabeller. En där vi lagrar den affärsbaserade datan som namn, address osv och en länkningstabell där vi länkar samman raderna i membership tabellerna med raderna i kund tabellen. Öppnar tråden igen, det verkar som om det fungerar så här. Du kan ju preparera din databas att vara den som .net använder för roller och medlemskap. Du skulle inte kunna beskriva hur detta görs? Jag ahr inte en aning om hur jag ska fixa till det :( Har du SQLServer kör du aspreg_iis mot din databas (Kör aspreg_iis /?) och läs hjälpen.Inloggning med mera
Sv: Inloggning med mera
Typ:
membership_key | customerId
Det gör att vi sedan utifrån den inloggade kan hämta upp rätt information. Nu brukar vi ju dessutom abstrahera bort hela den hanteringen och skapar objekt som fylls med data från de båda tabellerna. Typ:
public class Customer {
public string MembershipKey; // från membership tabellerna.
public string[] Roles; // från membership tabellerna.
public string Name; // från customer tabellen.
public string Company; // från customer tabellen.
}
Sen skapar vi en service klass som hämtar det aktiva användarobjektet typ:
Customer currentCustomer = CustomerService.GetCurrentLoggedOnCustomer();
Sv:Inloggning med mera
Kan jag göra följande? Jag har en databas som heter exempelvis minDb där jag har ett antal tabeller nu vill jag använda mig av login och allt annat i den inbyggda databasen aspnet eller vad det är den heter. Kan jag på nåt sätt få in de tabeller och sp med mera i min befintliga databas och utan att byta namn på den?Sv: Inloggning med mera
Då behöver du inte ha två olika databaser för att lösa det hela.
Så behöver du ställa in din web.config så att det pekar på din databas.Sv:Inloggning med mera
Sv: Inloggning med mera
Sedan modifierar du din web.config så att anslutningssträngen pekar mot din databas.
Och ändrar om provider för membership och roles.
Så här ser delar av min web.config ut
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="Personal" enablePasswordRetrieval="true"
enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="Personal" applicationName="/"
name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
Som du ser pekar roles och membership mot databasen personal. Den har jag gjort en anslutningssträng mot tidigare i filen.
Sök annars i forumet, det finns säkert fler som redan frågat detta. Annars är ett annat bra forum www.asp.net där finns det med största sannolikhet svar på din fråga.
Lycka till