none
Acessar paginas por fora do sistema RRS feed

  • Pergunta

  • Pessoal bom dia,

    Implementei um controle de Login com os objetos nativos do asp.net e ficou bom, porém, por curiosidade, tentei acessar uma pagina diretamente pelo gerenciador de arquivos, e a pagina abriu normalmente, sem passar pelo controle de login, dae pergunto, é seguro mesmo esse controle de login nativo, ou ta faltando algo que eu desconheço?

    em resumo, como eu impeço que curiosos acessem minhas pagina por fora do sistema?

    grato.

    quinta-feira, 1 de março de 2012 10:38

Respostas

  • Então o problema é este, não existe um servidor web no meio para intepretar as páginas. Tem o IIS na máquina? Faça como descrito la em acima e publique no IIS.

    Se você está no Visual Studio ou Web Matriz pode rodar direto por eles, não precisa ir pela pasta com os arquivos.

    Dê uma olhada na arquitetura de processamentos de páginas do ASP.NET:

    http://www.slideshare.net/randyconnolly/aspnet-02-how-aspnet-works


    Rodrigo Reis Ferreira
    Microsoft Certified


    sexta-feira, 2 de março de 2012 12:17

Todas as Respostas

  • Acredito que você esteja falando do membership.

    Você tem que colocar um web.config nas pastas que não devem ter acesso anônimo contendo isso:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.web>
            <authorization>
                <deny users="?" />
            </authorization>
        </system.web>
    </configuration>

    Você também pode controlar o acesso de diversos usuários através do uso de Roles, dando acesso ou negando de acordo com a necessidade.


    http://samuelcazelli.blogspot.com/

    quinta-feira, 1 de março de 2012 11:07
  • Aqui tem um tutorial bacana:

    http://petermcintyre.com/topics/asp-net-membership/


    http://samuelcazelli.blogspot.com/

    quinta-feira, 1 de março de 2012 11:08
  • Samuel obrigado por responder... porém essa configuração do web.config já está ok.

    o que me chamou a atenção foi justamente isto, ele acessou a pagina normalmente, mesmo eu colocando a opção de lembrar para  false.

    será q ta faltando algo?

    quinta-feira, 1 de março de 2012 11:37
  • Como o Samuel colocou, é preciso cofigurar o web.config nas pasta do sistema. Para configurar o membership no web.config da aplicação você pode ir no menu do VS em Projeto > ASP.NET Web Configuration.

    Rodrigo Reis Ferreira
    Microsoft Certified

    quinta-feira, 1 de março de 2012 11:43
  • entao seriam dois tipo sde configuração? um para pasta e outra para aplicação

    o que eu quero é q as paginas só abram depois de validado o usuario, ainda q ele tente abri-las por fora do sistema.

    quinta-feira, 1 de março de 2012 11:54
  • Só a parte de login estar funcionando não resolve. Você tem que dizer ao membership quem pode acessar o que.

    Todo sistema de login trada de duas coisas, Autenticação e Autorização.

    O que você fez foi fazer a autenticação, ou seja você autentica que o usuário é quem ele realmente diz que é, através do login e senha.

    Agora você precisa fazer o que eu falei lá em cima, fazer a parte de autorização, ou seja definir o que o usuário pode acessar.

    O web.config lá em cima, diz que nenhum usuário pode acessar o sistema de forma anônima, ou seja sem logar.


    http://samuelcazelli.blogspot.com/


    quinta-feira, 1 de março de 2012 11:56
  • entao Samuel, como falei, esta parte eu ja fiz tbm Authorization, só q mesmo assim se eu for pelo windows explorer e tentar abrir a pagina, ela abre normal sem pedir identificação. é possivel isto acontecer mesmo?
    quinta-feira, 1 de março de 2012 12:04
  • Pelo browser funciona mas pelo Windows Explorer(ou você quis dizer Internet Explorer) não??De qualquer forma tem que funcionar da mesma forma em ambos ja que pelo windows vai abrir o browser padrão de qualquer forma. Tem certeza que o membership ta configurado?

    No menu va em Projeto > ASP.NET Web Configuration e verifique se os provider estão configurado, verifique se esta apontando corretamente para seu banco de dados com o Membership(seja o arquivo mdf ou SQL Server), veja se o web.config da aplicação está correta também, pode postar ela aqui se preferir para darmos uma olhada.


    Rodrigo Reis Ferreira
    Microsoft Certified

    quinta-feira, 1 de março de 2012 12:17
  • seria pelo windows explorer mesmo... estranho nao é?

    entao, pelo q entendi, além de configurar o web.config, tem q configurar o tal Membership tbm? o que seria basicamente isto?

    quinta-feira, 1 de março de 2012 13:44
  • Como assim ela abre normalmente?

    Você diz que o código fonte dela é aberto? O que ela é preocessada e exibida pelo browser?



    http://samuelcazelli.blogspot.com/


    quinta-feira, 1 de março de 2012 13:53
  • isso, exibida no browser, mas deveria redirecionar para o login, o q nao ocorre.

    caso eu tivesse habilitado entrada automatica ae tdo bem, mas nao é o caso.

    quinta-feira, 1 de março de 2012 14:01
  • isso, exibida no browser, mas deveria redirecionar para o login, o q nao ocorre.

    caso eu tivesse habilitado entrada automatica ae tdo bem, mas nao é o caso.

    Veja se no seu web.config existe isso aqui:

    <authentication mode="Forms">
       <forms loginUrl="login.aspx" ...></forms>
    </authentication>


    Rodrigo Reis Ferreira
    Microsoft Certified

    quinta-feira, 1 de março de 2012 16:36
  • possui sim Rodrigo.

    nao estou entendendo nada, será q vcs estao entendendo o cenário??

    Iniciar > Programas > Acessórios > Windows Explorer.... ok?

    vou na pasta da  minha aplicação e clico sobre um dos forms Asp.net, a pagina abre normalmemnte, mas deveria ser redirecionadas para o login.

    meu web.config ta normal, configuraçoes e tal. o q ta faltando?

    esse tal Membership seria outra configuração paralela ao web.config?

    sexta-feira, 2 de março de 2012 11:14
  • humm..na verdade o Membership trabalha com as configurações do web.config e o banco de dados. No web.config da aplicação fica as configurações principais de provides que irão fazer o acesso ao banco, a tag de authenticação entre outras coisas.

    Nos web.config das pastas da aplicação serão colocados informações referentes a autorização naquelas pastas( liberar acesso anônimo, permitir acesso a um determinado grupo de usuários do membership).

    No banco ficam as tabelas e procedimentos responsáveis por administrar usuário, papéis(Roles), quais  usuários estão em quais perfis, personalização, ...

    Confesso que ainda estou meio perdido, não entendi isso aqui: "vou na pasta da  minha aplicação e clico sobre um dos forms Asp.net, a pagina abre normalmemnte, mas deveria ser redirecionadas para o login."

    VocÊ vai na pasta e clica com o botão direito e manda abrir o arquivo? Lembrando que se for um aspx ele tem que passar pelo IIS não pode abrir direto, essa aplicação ta publicada aonde??


    Rodrigo Reis Ferreira
    Microsoft Certified

    sexta-feira, 2 de março de 2012 11:25
  • cara, na verdade nao ta publicada em canto nenhum. eu apenas navego pelo gerenciador de arquivos do windows , vou até a pasta que contem os forms asp.net, clico sobre um deles e peço pra abrir. 

    nesse caso a pasta teria que estar publicada? porque eu ainda to desenvolvendo..

    sexta-feira, 2 de março de 2012 12:08
  • Então o problema é este, não existe um servidor web no meio para intepretar as páginas. Tem o IIS na máquina? Faça como descrito la em acima e publique no IIS.

    Se você está no Visual Studio ou Web Matriz pode rodar direto por eles, não precisa ir pela pasta com os arquivos.

    Dê uma olhada na arquitetura de processamentos de páginas do ASP.NET:

    http://www.slideshare.net/randyconnolly/aspnet-02-how-aspnet-works


    Rodrigo Reis Ferreira
    Microsoft Certified


    sexta-feira, 2 de março de 2012 12:17