PROVIDERS ROLES E MEMBERSHIP

 Tópico anterior Próximo tópico Novo tópico

PROVIDERS ROLES E MEMBERSHIP

ASP.NET

 Compartilhe  Compartilhe  Compartilhe
#275501 - 01/08/2008 10:50:46

SVS99
SANTOS
Cadast. em:Janeiro/2004


Ola novamente amigos

Estou lendo sobre a estrutura de PROVIDERS ROLES E MEMBERSHIP para que o proprio ASP.NET 2.0 se encarregue de fazer a autenticacao de meus usuarios de forma mais pratica para mim e claro.

Estou usando a opcao ASP.NET configuration no Solution Explorer, dai abre-se uma pagina onde eu configuro algumas opcaoes.

Porem tenho algumas duvidas que seguem abaixo :

Sao criadas varias tabelas dentre elas a de usuarios, entao eu posso usar esa tabela de usuarios para cadastrar meus usuarios mas sera que eu posso alterar a estrutura delas, pois eu tenho outros campos para utilizar nesse cadastro, como endereco, cidade, cep etc.Na verdade eu ja vi que posso mudar a estrutura dessas tabelas mas sera que isso ira provocar algum erro, uma vez que sao tabelas pre-definidas pelo ASP.NET?

E criado um banco e dados ASPNETDB.MDF na pasta App_Data, com os dados do Membership.

Eu tenho que copiar essa pasta para o meu provedor,onde o site esta hospedado?
Mas e o meu banco de dados que eu uso para gravar as outras informacoes.Terei que ficar com 2 banco de dados? Esse que foi criado e o meu?

Esses detalhes estao me gerando duvidas.

Obrigado pela Atencao


Carlos

Resposta escolhida #275588 - 01/08/2008 23:29:30

USUARIO.EXCLUIDOS

Cadast. em:


SVS99,

As pginas ASP.Net baseiam suas informaes bsicas no Machine.Config.

Vc pode achar o Machine.Config geralmente neste caminho:
Citação:
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG


Dentro do Machine.Config vc encontrar essa string de conexo:
Citação:

    <connectionStrings>
        <add name= LocalSqlServer  connectionString= data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true  providerName= System.Data.SqlClient />
    </connectionStrings>


Como isso funciona?
Qndo vc cria um projeto utilizando WebParts, Providers, Roles & Memberships (entre outras ferramentas do Asp.Net) o projeto valida o seu Web.Config. Caso vc no sobrescreva a String de Conexo  LocalSqlServer  que se encontra dentro do Macine.Config ele usar a String q esta lah...isso quer dizer q ele ter de criar um .Mdf dentro do seu projeto...at ai tudo bem...mas como vc sobrescreve esse tipo de coisa? Simples como voar...v at o seu Web.Config...dentro da sua Guia de ConnectionString e faa o seguinte:
Citação:

    <remove name= LocalSqlServer />
        <add name= LocalSqlServer  connectionString= Coloque aqui dentro a nova Connection String  providerName= System.Data.SqlClient />

Atravs disso vc estar sovrescrevendo a Conexo Padro do Machine.Config e estar conseguindo personalizar o caminho do seu AspNetDB.

Essas tabelas do seu MDF chamam-se AspNetTables...

Mas eu quero as AspNetTables do AspNetDB dentro do meu DataBase...eu posso fazer isso? Como saber as tabelas?
Vc pode personalizar o seu banco de dados criando AspNetTables dentro dele...para isso faa o seguinte...
v at o caminho:
Citação:
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727


e procure pelo executavel de nome  aspnet_regsql.exe ...Oq esse programa faz? Ele eh um assistente que ir cria AspNetTables (alm das procedures...views e todo o resto) que a sua aplicao precisa dentro do seu DataBase...

Dica: Crie as AspNetTables em um database a parte...so por volta de 12 tabelas...30 procedures...30 views...vai bagunar todo o seu projeto...

Depois de criar as AspNetTables em um DataBaseSQL...basta vc configurar a sua ConnectionString de nome  LocalSQLServer  (aquela que est sobrescrevendo o Machine.Config) para acessar o seu DataBase q possui as AspnetTables...

Dica.: No personalize as AspNetTables para gravar seus dados...no eh uma boa prtica...deixe-as funcionando do jeito q esto....a melhor forma delas funcionarem eh sozinhas...


Talvez tenha ficado um pouco confuso...mas eh isso...

Grande Abrao
Qualquer dºvida volte a postar...

tem meu MSN no meu perfil...pode adicionar...




#275708 - 03/08/2008 22:02:57

SVS99
SANTOS
Cadast. em:Janeiro/2004


Muito obrigado FER.HENRIQUE , por sua ajuda.

Vou ler direitinho tudo o que voce escreveu e depois tomar a melhor decisao para resolver esse meu problema.

Obrigado e um Abraco


Carlos

#275741 - 04/08/2008 10:16:12

SVS99
SANTOS
Cadast. em:Janeiro/2004


Bom Dia FER.HENRIQUE, como vai tudo bem?

Eu o adicionei ao meu MSN, quem sabe eu consiga encontra-lo on line para fazer mais algumas perguntinhas.

Ha ha ha

Bem, fiz o que voce sugeriu e consegui finalmente criar o usuario na base de dados que esta no provedor, mudando o caminho do DataSource no arquivo machine.config.

Eu ja havia criado as tabelas AspNetTables dentro da minha base de dados antes.
Sera que eu terei algum problema se deixa-las dentro do meu banco de dados.Eu estou comecando em ASP.NET e esse meu primeiro projeto, embora seja um pouco complexo,tera recursos simples,afinal estou apanhando nos recursos basicos quem dira nos mais sofisticados.

Essa ferramenta ASP.NET Configuration e realmente muito interessante, porem eu acho meu chato ter que definir os usuarios dentro dela.

Chegara um momento em que o usuario master do site tera que gerenciar os usuarios cadastrados e ele devera fazer isso dentro do proprio site que estou desenvolvendo.

Nao tem um jeito mais pratico de fazer isso.Eu ja vi que posso criar os usuarios via codigo
e provavelmente as restricoes para cada usuario tambem.

Eu terei que criar rotinas no meu site para isso? Criar as roles, memberships e assim por diante, ou seja, para tudo que posso fazer pelo ASP.NET Configuration?

Muito obrigado por sua ajuda e um Abraco.




Carlos

#275774 - 04/08/2008 14:45:40

USUARIO.EXCLUIDOS

Cadast. em:


SVS99,

O mais indicado no eh alterar o Machine.Config e sim o seu WebConfig,adicionando o cdigo abaixo dentro das chaves ConnectionString do seu Web.Config.
Citação:
   <remove name= LocalSqlServer />
        <add name= LocalSqlServer  connectionString= Coloque aqui dentro a nova Connection String  providerName= System.Data.SqlClient />



No existe problema algum em deixa-los todos juntos...eu apenas perfiro separar esse tipo de coisa...

Bom, eu costumo gerenciar os usurios do site atrvs de um projeto meu paralelo...os usurio so administrador por um WebService...eh mto legal...depois te explico como funciona...

Nunca criei Rotines e Memberships na unha...pq utilizo esse meu projeto paralelo...

Conversamos no fim de semana...no costumo entrar no MSN durante a semana..alm do q de noite tenho faculdade =D

Grande Abrao





#275780 - 04/08/2008 16:10:05

SVS99
SANTOS
Cadast. em:Janeiro/2004


Ok Fernando muito obrigado novamente.

Quanto ao Web.Config minha String de conexao foi definida dentro dele para que eu tenha que defini-la dentro de cada WebForm e mesmo assim os dados dos usuarios foram gravados no banco de dados ASPNETDB.MDF que esta local na minha maquina.

Somente depois que eu coloquei mudei a string de conexao tambem no Machine.Config e que os dados dos usuarios que eu cadastrei pelo ASP.NET Configuration, passaram a ser gravados na base de dados que esta no provedor.

Obrigado e um Abraco


Carlos

#275855 - 05/08/2008 08:38:40

USUARIO.EXCLUIDOS

Cadast. em:


Mesmo com a linha

Citação:
<remove name= LocalSqlServer />  


os dados continuaram sendo gravados no mdf?

Abrao




#275890 - 05/08/2008 10:16:00

SVS99
SANTOS
Cadast. em:Janeiro/2004


Ola Fernando

Essa linha eu nao mudei, mudei apenas a String de conexao que aponta para o provedor onde esta a base de dados.

Como funcionou, temporariamente, dei o caso por encerrado.  
Um Abraco


Carlos

#275924 - 05/08/2008 12:16:22

USUARIO.EXCLUIDOS

Cadast. em:


Essa linha q eu te comentei deve ser colocada no Web.Config...assim ele sobrescreve o Machine.Config e vc no precisa alterar o mesmo...

Abrao




#275987 - 05/08/2008 17:58:38

SVS99
SANTOS
Cadast. em:Janeiro/2004


Obrigado Fernando.

Eu vou fazer isso e ver o que acontece.

Um Abraco


Carlos

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WEBMASTER em 18/08/2009 10:03:45