Não paro de ficar surpreendido com este pequeno ficheiro que acompanha o .Net framework. Fora o que já lá está quando se cria um novo site. A maior parte das coisas é possivel fazer pelo website administration tool que é uma ferramenta html que gere o web.config .
VARIÁVEIS
É possivel definir várias chaves que servem de auxilio à costumização do site. Estas variaveis tem um nome e retornam uma string que pode ser usado para o que quiserem. Coisas do tipo "Email do webmaster" ou "directoria de arranque" quando se etm varias versões.
CONNECTIONSTRINGS
Logo de inicio me agradou ter apenas um local para declarar as connectionstrings sem ter de andar a alterar sempre que "publico" um site (embora, claro, tenha de se ter em atenção para nao se publicar o web.config)
Pode-se ter uma solução mais "engenhosa" que passa por criar uma variavel de sessão e depois adicioná-la ao nome da connectionstring i.e.: o Pc de desenvolvimento chama-se DES e o de produção chama-se PRD. Nas connectionstring pode-se ter uma connstringDES e uma connstringPRD. Quando se for ler chama-se por "connstring" + Session("ambiente").
Adiante...
AUTORIZAÇÕES E AUTENTICAÇÃO
Depois descobri o "authentication" e o "authorize".
O 1º Pode ser
Windows - o mais comum nas intranets porque depende do login de windows,
.NetPassport - o mais comum no microsoft.com
Forms - o mais comum na internet para quem nao gosta de ter muito trabalho (o meu caso)
Como eu queria fazer um site com um acesso de "visitante", um de "Utilizador", outro de "poweruser" e outro de "Admin"
Pensei, na minha ingenuidade, e já que estou a usar "masterpages", coloco um painel na masterpage com o login,logout e a informação do utilizador, uso umas variaveis de sessão e já tá
Nas paginas usaria paineis e no load da pagina, consoante o que o bacano fosse, mostrava ou escondia os paineis
dava MONTES de trabalho, mas funcionava.
O que acontece é que, usando o roleprovider (se derem uma connectionstring vossa as tabelas serão criadas na vossa basse de dados, caso contrario usa a string estiver no machine.config) os roles são geridos dentro do site
adicionando um control que se chama "loginview" (é um "container" especial) todos os elementos que estiverem dentro dele só aparecem consoante o user estiver autenticado ou pertencer a um determinado "role". Assim. Automático. Sem espinhas
O provider de membership pode ser o active directory ou tambem pode estar numa tabela e, com a associação de roles, está toda a segurança do site feita. Este conjunto de elementos ainda tem um "criação de utilizador" (com passos para informação custom do site), alteração de password, login, logout, recuperação de password. Tudo já feito.
SMTP
Quando o site envia mails é possivel definir aqui qual é o ip/nome do smtp quie se vai usar, uncluindo o resto todo de definições (timeout, porto etc)
Espetáculo.
VARIÁVEIS
É possivel definir várias chaves que servem de auxilio à costumização do site. Estas variaveis tem um nome e retornam uma string que pode ser usado para o que quiserem. Coisas do tipo "Email do webmaster" ou "directoria de arranque" quando se etm varias versões.
CONNECTIONSTRINGS
Logo de inicio me agradou ter apenas um local para declarar as connectionstrings sem ter de andar a alterar sempre que "publico" um site (embora, claro, tenha de se ter em atenção para nao se publicar o web.config)
Pode-se ter uma solução mais "engenhosa" que passa por criar uma variavel de sessão e depois adicioná-la ao nome da connectionstring i.e.: o Pc de desenvolvimento chama-se DES e o de produção chama-se PRD. Nas connectionstring pode-se ter uma connstringDES e uma connstringPRD. Quando se for ler chama-se por "connstring" + Session("ambiente").
Adiante...
AUTORIZAÇÕES E AUTENTICAÇÃO
Depois descobri o "authentication" e o "authorize".
O 1º Pode ser
Windows - o mais comum nas intranets porque depende do login de windows,
.NetPassport - o mais comum no microsoft.com
Forms - o mais comum na internet para quem nao gosta de ter muito trabalho (o meu caso)
Como eu queria fazer um site com um acesso de "visitante", um de "Utilizador", outro de "poweruser" e outro de "Admin"
Pensei, na minha ingenuidade, e já que estou a usar "masterpages", coloco um painel na masterpage com o login,logout e a informação do utilizador, uso umas variaveis de sessão e já tá
Nas paginas usaria paineis e no load da pagina, consoante o que o bacano fosse, mostrava ou escondia os paineis
dava MONTES de trabalho, mas funcionava.
O que acontece é que, usando o roleprovider (se derem uma connectionstring vossa as tabelas serão criadas na vossa basse de dados, caso contrario usa a string estiver no machine.config) os roles são geridos dentro do site
adicionando um control que se chama "loginview" (é um "container" especial) todos os elementos que estiverem dentro dele só aparecem consoante o user estiver autenticado ou pertencer a um determinado "role". Assim. Automático. Sem espinhas
O provider de membership pode ser o active directory ou tambem pode estar numa tabela e, com a associação de roles, está toda a segurança do site feita. Este conjunto de elementos ainda tem um "criação de utilizador" (com passos para informação custom do site), alteração de password, login, logout, recuperação de password. Tudo já feito.
SMTP
Quando o site envia mails é possivel definir aqui qual é o ip/nome do smtp quie se vai usar, uncluindo o resto todo de definições (timeout, porto etc)
Espetáculo.
No comments:
Post a Comment