Permissão de Página Utilizando Web.Config
Data Publicação: 9/6/2009 15:41:29
Total de visualizações:
2489
comente
|

Olá pessoal, gostaria de mostrar neste artigo a facilidade que temos para dar permissão em páginas utilizando o arquivo de configuração web.config.
Informações adicionais: Ferramenta utilizada: Visual Studio.NET 2008 TS Tipo de aplicativo: ASP.NET ou seja, tipo web Framework: 3.5, inferior ou superior Linguagem: Pode ser feito em qualquer linguagem de desenvolvimento como: C#.NET, VB.NET, J#.NET, COBOL.NET.
Hoje em dia com a facilidade e utilização da web (intranet e internet), existem programadores utilizando o desenvolvimento de sistemas web achando melhor do que fazer um sistema local. Existem alguns benefícios e malefícios; não quero entrar nesse mérito neste momento. Portanto, é necessário ter usuário e senha para entrar nestes aplicativos web, mantendo um certo nível de segurança. Algumas dicas podem ser vistas no site [ecodigo.com.br] caso necessite. O arquivo de configuração hoje em dia é importantíssimo para quem desenvolve algum tipo de aplicativo web. O usuário depois que loga na aplicação, tem direito de acessar algumas páginas antes de logar não teria direito. Para definir esse tipo de coisa, precisamos colocar essas páginas / diretórios no arquivo de configuração liberando ou negando. Geralmente é feito da seguinte forma: primeiro se nega tudo e depois vai liberando as páginas ou diretórios. Lembre-se que, quando se nega tudo, nem a página de erro será acessada se der algum problema na aplicação, o usuário terá que logar para ir a página de erro.
Vamos ao código <authentication mode="Forms"> <forms loginUrl="/pagina.aspx" name="nome" timeout="20"/> </authentication>
<authorization> <deny users="?"/> </authorization> Code 1.1
Explicação A primeira linha do código, transformei o modo de autenticação para forms, ou seja, dentro do meu aplicativo tem um formulário responsável por logar na aplicação. Logo na segunda linha, indiquei a página, um nome e um tempo de expiração depois que o mesmo fizer o login; isso tudo dentro de <authentication>. Dentro de <authorization>, a tag <deny> nega todos os usuários que tente acessar qualquer página da aplicação, ou seja, ao tentar acessar, o mesmo será redirecionado automaticamente para a pagina.aspx indicada na tag <authentication>.
Code 1.2 <customErrors mode="On" defaultRedirect="manutencao/erro.htm"> <error statusCode="403" redirect="manutencao/erro.htm"/> <error statusCode="404" redirect="manutencao/404.htm"/> </customErrors>
Explicação Depois de negar todos os usuários em minha página, mesmo colocando a tag customErrors ativo e indicando uma página, caso der algum tipo de erro na aplicação, para acessar a página é necessário logar na aplicação primeiro.
Liberar a Página / Diretório O próximo passo é liberar as páginas ou diretórios a fim de não precisar logar para acessar qualquer página, isto é, até a página de erro. Alguma página deve ser liberada na aplicação. Code 1.3
<location path="diretorio"> <system.web> <authorization> <allow users="*"></allow> </authorization> </system.web> </location> Code 1.3
Explicação Esse código deve estar dentro da tag <configuration>, geralmente localizada abaixo de <appSettings>. Coloquei no path da tag location o nome do diretório que preciso para permitir que acessem sem logar no aplicativo. Caso queira colocar um página, veja o código 1.4.
<location path="diretorio"> <system.web> <authorization> <allow users="*"></allow> </authorization> </system.web> </location>
<location path="pagina.aspx"> <system.web> <authorization> <allow users="*"></allow> </authorization> </system.web> </location>
Resumindo, em cada caso é necessário colocar uma nova location path para o diretorio ou para as páginas com a permissão <allow users=”*”></allow>. Bom, eu fico por aqui. Qualquer dúvida pode entrar em contato.
Total de visualizações:
2489
|
|
voltar
comente
subir
|
Autor:
|
Por:Mauricio Junior
|
Maurício Júnior Formado pela Faculdade Anhanguera,
Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando
Mestrado na UNB Engenharia Elétrica; . Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org
|
|