🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓



Permissão de Página Utilizando Web.Config

Saiba dar permissão em diretórios/páginas utilizando o arquivo de configuração do aplicativo.



    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.

Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In








Top