LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Permissão de Página Utilizando Web.Config

por Mauricio Junior em 1/1/2011 0



    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.

voltar   comente  subir

Download Copy





 
Mauricio Junior 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 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.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



Comentários:

Comentado por: Wilson Dutra - 3/7/2009 0:00:00
Gostei bastante de seu artigo e será muito útil. Gostaria de saber mais uma coisa se possível: Eu poderia em meu site, que se encontra em um servidor dentro de minha empresa, disponibilizar para usuários (comprivilégios claro), o acesso a diretórios (leitura e/ou escrita) de outro servidor, por fora do IIS? Até hoje não consegui fazer isso. É possível? Obrigado.
Comentado por: Ibsen Brito - 15/7/2009 0:00:00
Você é o cara, eu estava precisando desse código.

Que Jesus Cristo te abençoe cada vez mais
Comentado por: Rafael - 19/7/2009 0:00:00
Eu entendi está parte inteira de como dar permissão ou não.
O que eu não entendi, é na página de login. Como o ASP.NET vai saber quem está autorizado ou não? Usando Session?
Comentado por: Mauricio Junior - MCP, MCAD, MVP Microsoft - 24/7/2009 0:00:00
Wilson, pode ser feito se o suporte do servidor der compartilhamento de sessão entre as aplicações.
Comentado por: Mauricio Junior - MCP, MCAD, MVP Microsoft - 24/7/2009 0:00:00
Rafael, pelo authentication form que ele vai saber se está autorizado ou não.

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Pagamento via celular
Trabalhando com Cookie usando Visual Studio.NET 2005 (parte I)
Windows Phone 7 Series Developer Training Kit
Novo SO Palm, depois da venda...
Themas - Muito Simples
Inserindo no Sql Server
Abrindo Janela de Forma Modal
Criando arquivo usando Visual Studio.NET 2005
Customizar Setup Layout
Dica Importante SQL Server 2008 Management Studio
Vídeo HTC
Perguntas Mais Freqüentes de ASP.NET
Adicionando Ícones no Windows Forms
Sistema de Login em ASP – Parte X
Controle de peso mobile
Vídeo: postura, saúde e posicionamento na frente do computador
Montando Menu Dinâmico com Banco de Dados
Criando Splash - Com Efeito
Abrir o programa apenas uma vez
Desktop Linux Ubuntu
Trabalhando com Session
Cache
ReportViewer sem DataSet Tipado e gerando PDF
SQLEngine Utilizando Upgrade
Aplicativos para Dispositivos Móveis, Usando C#.NET com a ferramenta Visual Studio.NET e com Banco de Dados MySQL e SQL Server
SQL Dinâmico Compilado
Anime-se com o Silverlight
Vídeo mostrando como validar vários formulários
O segredo de utilizar ModalPopupExtender
Token e Sessão Corrente com C#.NET
Litl um computador web
Microsoft® Expression® Web
Como fazer uma enquete - parte 2
Padronizando Status e Situação
Permitir Teste pelo Browser no WebService




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....




NETITC