none
Como proteger as paginas RRS feed

  • Pergunta

  •  

    Estou usando o login do asp net ta fucnionando tudo certinho a autencticação e tudo mais , porem se o usuario colocar as paginas na url eles conseguem acessar as paginas.Como eu faço para so permitir o acesso se somente se eles tiverem logados?
    sexta-feira, 21 de setembro de 2007 11:54

Respostas

  • Olá Lucas,

     

    Você deve incluir no seu webconfig alguns elementos na tag <system.web> para que suas paginas possam ser acessadas apenas quando o usuário estiver autenticado.

     

    o primeiro elemento é o authentication que informa o tipo de autenticação no seu caso será forms:

     

      <authentication mode="Forms">
        <forms loginUrl="Login.aspx"
               protection="All"
               timeout="30"
               name=".ASPXAUTH"
               path="/"
               requireSSL="false"
               slidingExpiration="true"
               defaultUrl="default.aspx"
               cookieless="UseDeviceProfile"
               enableCrossAppRedirects="false" />
      </authentication>

     

    você deve informar no atributo loginUrl o seu formulário de autenticação, os outros atributos você deverá informar de acordo com suas necessidades. Beleza o outro elemento que você deve incluir será o authorization esse atributo irá garantir que seja negado o acesso a todos os usuários sem autorização, para isso você incluir esse elemento no seu webconfig na mesma tag <system.web>.

     

      <authorization>
        <deny users="?" />
      </authorization>


    Espero ter ajudado.

    Benjamim Goulart Bessa.

     

    referencia: http://msdn2.microsoft.com/en-us/library/Aa480476.aspx

    sexta-feira, 21 de setembro de 2007 14:04

Todas as Respostas

  • ola

    vc esta usando Autenticação via Windows, forms??

    como esta isso no seu web.config?
    sexta-feira, 21 de setembro de 2007 12:12
  •  

    Ola

    Eu estou usando a autenticação do proprio componente do login do asp net, somente alterei no web.config foi a conexão do banco e mais nada .Estou consegundo logar so que quando coloco no url as paginas ele tb acessa quero proteger e da acesso apenas quem logar .o meu web.config ta assim a autenticação

     

     

     

    <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

     

    e outro abaixo

     

     

    <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

    <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />

    sexta-feira, 21 de setembro de 2007 12:32
  • Olá Lucas,

     

    Você deve incluir no seu webconfig alguns elementos na tag <system.web> para que suas paginas possam ser acessadas apenas quando o usuário estiver autenticado.

     

    o primeiro elemento é o authentication que informa o tipo de autenticação no seu caso será forms:

     

      <authentication mode="Forms">
        <forms loginUrl="Login.aspx"
               protection="All"
               timeout="30"
               name=".ASPXAUTH"
               path="/"
               requireSSL="false"
               slidingExpiration="true"
               defaultUrl="default.aspx"
               cookieless="UseDeviceProfile"
               enableCrossAppRedirects="false" />
      </authentication>

     

    você deve informar no atributo loginUrl o seu formulário de autenticação, os outros atributos você deverá informar de acordo com suas necessidades. Beleza o outro elemento que você deve incluir será o authorization esse atributo irá garantir que seja negado o acesso a todos os usuários sem autorização, para isso você incluir esse elemento no seu webconfig na mesma tag <system.web>.

     

      <authorization>
        <deny users="?" />
      </authorization>


    Espero ter ajudado.

    Benjamim Goulart Bessa.

     

    referencia: http://msdn2.microsoft.com/en-us/library/Aa480476.aspx

    sexta-feira, 21 de setembro de 2007 14:04
  • Ola Benjamim desde já agradeço muito por estar me ajudando.

     

    Beijamim inserir o codigo no weconfig desta maneira.

    <authentication mode="Forms">

    <forms loginUrl="Login.aspx"

    protection="All"

    timeout="30"

    name=".ASPXAUTH"

    path="/"

    requireSSL="false"

    slidingExpiration="true"

    defaultUrl="novoitem.aspx"

    cookieless="UseDeviceProfile"

    enableCrossAppRedirects="false" />

    </authentication>

    <authorization>

    <deny users="?" />

    </authorization>

     

    mas ainda estou acessando a pagina novoitem.aspx, alem deste codigo será que preciso fazer mais algo??

    sexta-feira, 21 de setembro de 2007 14:22
  • Lucas você substituiu no atributo loginUrl="Login.aspx" o nome de Login.aspx para o nome do seu formulário de login??

    sexta-feira, 21 de setembro de 2007 14:30
  •  

    O nome do meu arquivo de autencticação é login.aspx porem o meu formulario de autenticação é esse

    <body>

    <form id="form1" runat="server">

    <div>

    <asp:Login ID="Login1" runat="server" BackColor="#EFF3FB" BorderColor="#B5C7DE" BorderStyle="Solid" MembershipProvider ="AspNetSqlMembershipProvider"

    BorderWidth="1px" DestinationPageUrl="~/buscaitem.aspx" Font-Names="Verdana" Font-Size="0.8em" BorderPadding="4" ForeColor="#333333" LoginButtonText="Logar" PasswordLabelText="Senha:" RememberMeText="Salvar informações" TitleText="Login" UserNameLabelText="Nome:" UserNameRequiredErrorMessage="Nome é necessário." FailureText="Usuario ou senha incorreta.">

    <TitleTextStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="0.9em" />

    sexta-feira, 21 de setembro de 2007 14:34
  • Estranho Sad você deu uma olhada no link de referencia que eu te enviei??

     

    sexta-feira, 21 de setembro de 2007 14:49
  •  

    AInda não , vou olhar , muito obrigado Benjamim ....
    sexta-feira, 21 de setembro de 2007 14:55
  • Lucas... estou fazendo alguns testes pra ver se descubro algo, se você quiser me mandar um projeto com o exemplo do seu sistema pra ver se ocorre o mesmo comigo, fique a vontade benjamimgoulart@gmail.com ok! Qualquer estou por aqui e caso você descubra a causa não esqueça de colocar informar ok! Smile

     

    sexta-feira, 21 de setembro de 2007 16:28
  •  

    Beijamim cara,

     

    Funcionouuuuuu poxa brigadão mesmo , olha o que estava acontecendo que eu estava fazendo a alteração na minha maquina local e rodando do servidor por isso não funcionava agora que vim perceber (poxa que vacilooo).

     

    Beijamim muito obrigado cara .

     

    Mas já aproveitando posso fazer mais uma perguntinha?, olha eu to alterando o meu CreateUserWizard ta funcionando ta uma beleza .Eu to pegando os campos que ja existem como usersname e email que ja ta pronto no login do aspnet certo, porem eu estou dando um insert em minha tabela de funcionario ta inserindo CERTINHO.(so passando o mesmo valor do email para o registro isso so foi pa testar se era meu metodo.addFuncionario).

    nome = CreateUserWizard1.UserName

    email = CreateUserWizard1.Email

    matricula = CreateUserWizard1.Email

    Select Case users.AddFuncionario(nome, email, matricula)

    o PROBLEMA É:

    Não estou conseguindo pegar o campo registro que eu adicionei no formulario do CreateUserWizard, como faço para pegar o registro na texbox que eu criei?

    sexta-feira, 21 de setembro de 2007 17:37