Apenas como um ponto de referência, pode ser uma boa ideia criar um novo modelo de aplicativo de Internet de um projeto de aplicativo da Web ASP.NET MVC 4 (ou seja, via Arquivo> Novo projeto).
Se você olhar para o
AccountController , como diz @zms6445, ele é decorado com um InitializeSimpleMembership atributo. Você pode encontrar a implementação desse atributo no arquivo InitializeSimpleMembershipAttribute.cs na pasta Filtros no diretório raiz. Aqui, esta é a parte que falta do quebra-cabeça - você precisa conectar seu banco de dados existente para que ele seja usado pelo
SimpleMembershipProvider . Este é o código que você precisa:private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
try
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException("Something is wrong", ex);
}
}
}
Algumas coisas a serem observadas:
-
CONNECTION_STRING_NAMEé uma entrada em seu web.config ConnectionStrings - você NÃO PODE usar a string de conexão do modelo aqui - oSimpleMembershipProvidernão reconhece esse formato! Você precisa especificar umSystem.Data.SqlClientcadeia de conexão, por exemplo
-
USER_TABLEé a tabela em seu banco de dados para armazenar informações extras do usuário, como nome, sobrenome etc. Ela está vinculada às tabelas geradas automaticamente por meio do USER_ID_FIELD.
-
USER_ID_FIELDgeralmente é a chave primária da sua tabela Users. Deve ser do tipoint.
-
USER_ID_NAMEé um nome exclusivo para o usuário, que pode ser um endereço de e-mail.
-
autoCreateTablesestá definido comotruepara garantir que as tabelas necessárias para que o SimpleMembership funcione sejam criadas, caso ainda não existam.
Claro, esse código só é acionado se você acessar uma página por meio do
AccountController , já que este foi decorado pelo atributo. Você pode colocar um ponto de interrupção lá e vê-lo em ação. Isso deve começar - o modelo de aplicativo da Internet é um modelo muito bom para seguir se você ficar preso.
Espero que isto ajude.