PROGRAMANDO EM ASP.NET

 Busca Online:
 

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.

Permissão de Página Utilizando Web.Config



Data Publicação: 9/6/2009 15:41:29
Total de visualizações: 3777

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras




    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: 3777
voltar   comente  subir


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): VOCÊ PRECISA LOGAR

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

Dll Ajax
Novidade: Nomeação MVP Microsoft
Adicionando Valores no ComboBox
Sistema de Login em ASP Utilizando três camadas - Parte VIII
Detectando erro a todo custo
Formatando String rapidamente
Validator no VS 2005
Channel9 - Soap, OData, Json
Sistema que faz busca no google
Permitir Teste pelo Browser no WebService
Arrumando seu Desktop
Vídeos para download
Criando Help com Visual Studio.NET
Linha do GridView (colorindo ao passar o mouse)
Criando uma aplicação de uma maneira nova para melhor publicação
Criando menu dinâmico com C#.NET (Passo 2) - Com diferenciação de usuário
Chrome - não reconhecimento...
Vídeo: Framework de dados - parte 1
Inserindo Usuário no Banco de Dados MYSQL Usando Tecnologia AJAX
Vídeo - Bing direction com HTC HD 2
Problemas no sistema de busca
Copa Microsoft de Talentos em Brasília
Calcular Média de Combustível
Vídeo - Tecla de Atalho
Como fazer uma enquete - parte 1
Evento BrasilDotNet 2008
Tata Motors (Grupo TCS)
Criando XML a partir do DataSet Tipado com Visual Studio.NET 2005 – Parte I
Visual Source Safe ? Série 2
Visual Studio .NET 2010 e Reunião da Comunidade ASPNETi.COM
Alongar é preciso
Trabalhando com o componente TabContainer
Adicionando Ícones no Windows Forms
Nova promoção hoje e amanhã para usuários da comunidade aspneti.com
Entrevista com um cracker diz que IIS é mais seguro que Apache
Sobre o Autor
  [sumir] [aparecer]
 
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.orgSite pessoal  www.mauriciojunior.org

Informaes Online
Usurios Online: 98
Artigos:  749
Vdeos:  61
PodCast's:  44
Frum:  3128
Empregos:  1385
Usurios Cadastrados: 6163
Publicidade
LAYERDEV




Vdeos Publicados
 

Duas dicas de internet - Google RealTime e OpenDNS

Desconfie sempre da internet e emails

Microsoft Office online no Safari funcionando

Inovação Visual Studio .NET 2010 - parte 4

Office Live online

TAB TAB na ferramenta Visual Studio .NET

Apresentação do IMC - Sistema de Controle de Peso Mobile

Inovação Visual Studio .NET 2010 - parte 3

Inovação Visual Studio .NET 2010 - parte 1

Download de vídeos com o Safari

Criando Chart - Novo componente integrado com o Visual Studio.NET 2010

Serviços: SAC e SMS integrado

Café com TI - Info sobre o Visual Studio.NET 2010 - WebConfig

Café com TI - Info sobre o Visual Studio.NET 2010

Café com TI - Vírus se passando por Correios

Café com TI - Novo jeito de mandar e-mail com vírus

Café com TI - Formatando todo tipo de String

Resolvido erro do Banco do Brasil no browser

Erro no site do Banco do Brasil com o Safari

Duas dicas do Snow Leopard

Incompatibilidade no Snow Leopard

E-mail com vírus, veja os detalhes

Café com TI - Continuando a configuração de Themes no site

Café com Ti - Banner Rotativo

Café com TI - Evento Eco Brasília

Café com TI - Themes dentro do ASPNETi.COM

Café com TI - Trabalhando com o iCal no Macbook

Café com TI - Deixando o rodapé do seu site fixo

Café com TI - Windows 7 sendo utilizado sem qualquer incompatibilidade

Café com Ti - ASP.NET - Explicando o componente ModalDialogExtender do Ajax Toolkit

Café com TI - Indexação de URL com ASP.NET

Café com TI - Configurando Mail para sua conta no HotMail
Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC