Como utilizar uma base de dados para nomes de utilizador e palavras-passe no FrontPage 2002

Traduções de Artigos Traduções de Artigos
Artigo: 321439 - Ver produtos para os quais este artigo se aplica.
Para obter uma versão de Microsoft FrontPage 2000 deste artigo, consulte 321503.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo explica como criar uma solução de segurança de ficheiros simples utilizando o Microsoft FrontPage 2002, ASP (Active Server Pages) e uma base de dados do Microsoft Access.

Notas importantes

  • O código de exemplo deste artigo não foi concebido como uma substituição para a funcionalidade de segurança incorporadas do FrontPage. Os exemplos são concebidos para fornecer um mecanismo de segurança simples apenas para utilizadores que está a procurar no Web site. Como tal, segurança do FrontPage 2002 não se integra com os nomes de utilizador e palavras-passe que são adicionadas ao Microsoft Access base de dados.
  • Os nomes de utilizador e palavras-passe que são escritas em são transmitidas através da Internet em texto simples. Para maior segurança, a Microsoft recomenda que utilize um servidor Web que pode utilizar o SSL (Secure Sockets Layer) encriptação. Para mais informações, consulte o administrador do Web site ou o fornecedor de serviços Internet (ISP).

Passo 1 - obter pronto a utilizar as funcionalidades ASP no FrontPage 2002

Antes de poder utilizar as funcionalidades ASP no FrontPage 2002, terá de instalar os componentes listados no seguinte artigo da base de dados de conhecimento da Microsoft:
318287O que é necessário para utilizar ASP (Active Server Pages) no FrontPage 2002

Passo 2 - criar uma nova Web no FrontPage 2002

Nota Para este código de exemplo funcionar correctamente, terá de fazer-se de que o nome da Web é início de sessão e que é uma subweb desactivar a raiz do Web site.
  1. No menu ficheiro , clique em Novo e, em seguida, clique em página ou Web .
  2. No painel de tarefas, clique em Modelos de Web Site .
  3. Na lista de modelos, clique em Web vazia .
  4. Especificar a localização da Web no servidor, utilizando a seguinte sintaxe
    http:// your server /logon/
    em que your server é o nome do servidor Web activados por ASP.
  5. Clique em OK .

Passo 3 - criar uma base de dados utilizando o Microsoft Access

  1. Inicie o Microsoft Access.
  2. No menu ficheiro , clique em Novo .
  3. Na lista de opções, clique em Base de dados vazia .
  4. Nome do ficheiro logon.mdb e guarde-o ambiente de trabalho.
  5. Na secção tabelas , clique em Novo .
  6. Na lista, clique em Vista de estrutura e, em seguida, clique em OK .
  7. Crie dois campos:
    1. Para o Nome do campo , escreva UID . Para o Tipo de dados , faça clique sobre texto e, em seguida, clique em Chave primária .
    2. Escreva o Nome do campo , PWD . Para o Tipo de dados , clique em texto .
  8. No menu ficheiro , clique em Guardar . Nome da tabela tblUsers e, em seguida, clique em OK .
  9. No menu Ver , clique em Vista de folha de dados .
  10. Na coluna UID , escreva utilizadorteste . Na coluna PWD , escreva a palavra-passe .
  11. No menu ficheiro , clique em Fechar para fechar a tabela.
  12. Saia do Microsoft Access.
Nota Por motivos de segurança, palavras-passe estão limitadas a uma mistura de letras maiúsculas, minúsculas e números.

Passo 4 - importar a base de dados do Microsoft Access

  1. No menu ficheiro , clique em Importar .
  2. Clique em Adicionar ficheiros .
  3. Na lista Procurar em , clique em ambiente de trabalho.
  4. Clique no ficheiro logon.mdb que criou no Step 3 e, em seguida, clique em Abrir .
  5. Clique em Modificar .
  6. Alterar o URL para _private/logon.mdb e, em seguida, clique em OK .
  7. Clique em OK para importar o ficheiro.
  8. Se for pedido para adicionar uma ligação de base de dados, clique em ' não '.

Passo 5 - criar páginas ASP

Tem de criar vários ficheiros para trabalhar com este exemplo. Em primeiro lugar, crie uma home page para o Web site, uma unsecure page e uma secure page para testar e, em seguida, a logon Web page e o logon include file.

Passo 5a - criar a home page

Esta página funciona como a página predefinida do site e inclui hiperligações para a unsecure page e secure page que vai criar mais tarde.
  1. Na barra de ferramentas da FrontPage , clique em Nova página .
  2. Mudar para a vista de HTML e elimine o HTML existente código.
  3. Escreva ou cole o seguinte código na página:
    <% @language="vbscript" %>
    <html>
    <head><title>Home Page</title></head>
    <body>
    <h3>Home Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <ul>
    <li><a href="secure.asp">Secure Page</a></li>
    <li><a href="unsecure.asp">Unsecure Page</a></li>
    </ul>
    </body>
    </html>
    					
  4. Guarde a página como default.asp na pasta raiz da sua Web.
  5. Feche a página clicando em Fechar no menu ficheiro .

Passo 5b - criar uma página não segura

Esta página é uma página ASP básica que qualquer pessoa pode procurar.
  1. Na barra de ferramentas da FrontPage , clique em Nova página .
  2. Mudar para a vista de HTML e elimine o HTML existente código.
  3. Escreva ou cole o seguinte código na página:
    <% @language="vbscript" %>
    <html>
    <head><title>Unsecure Page</title></head>
    <body>
    <h3>Unsecure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
    					
  4. Guarde a página como default.asp na pasta raiz da sua Web.
  5. Feche a página clicando em Fechar no menu ficheiro .

Passo 5 c - criar uma página segura

A página deste passo é o mesmo que a página não segura criada no Step 5b, excepto que adicionar a seguinte linha de código no início da página:
<!--#include virtual="/logon/_private/logon.inc"-->
				
adicionar esta linha de código para qualquer página Web ASP torna a página de uma página Web "segura".
  1. Na barra de ferramentas da FrontPage , clique em Nova página .
  2. Mudar para a vista de HTML e elimine o HTML existente código.
  3. Escreva ou cole o seguinte código na página:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <html>
    <head><title>Secure Page</title></head>
    <body>
    <h3>Secure Page</h3>
    <p>You are logged on as: 
    <%
      If Len(Session("UID")) = 0 Then
        Response.Write "<b>You are not logged on.</b>"
      Else
        Response.Write "<b>" & Session("UID") & "</b>"
      End If
    %>
    </p>
    <p><a href="default.asp">Back to default</a></p>
    </body>
    </html>
    					
  4. Guarde a página como secure.asp na pasta de início de sessão Web raiz.
  5. Feche a página clicando em Fechar no menu ficheiro .

Passo 5d - criar a página de início de sessão

A página de início de sessão foi concebida para assemelhar-se uma caixa de diálogo de início de sessão padrão do Windows. Os utilizadores que tentam aceder à secure page são reencaminhados para esta página para introduzirem o respectivo nome de utilizador e palavra-passe.
  1. Na barra de ferramentas da FrontPage , clique em Nova página .
  2. Mudar para a vista de HTML e elimine o HTML existente código.
  3. Escreva ou cole o seguinte código na página:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    <%
      ' Was this page posted to?
      If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
        ' If so, check the username/password that was entered.
        If ComparePassword(Request("UID"),Request("PWD")) Then
          ' If comparison was good, store the user name...
          Session("UID") = Request("UID")
          ' ...and redirect back to the original page.
          Response.Redirect Session("REFERRER")
        End If
      End If
    %>
    <html>
    <head><title>Logon Page</title>
    <style>
    body  { font-family: arial, helvetica }
    table { background-color: #cccccc; font-size: 9pt; padding: 3px }
    td    { color: #000000; background-color: #cccccc; border-width: 0px }
    th    { color: #ffffff; background-color: #0000cc; border-width: 0px }
    </style>
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <h3 align="center">&#xa0;</h3>
    <div align="center"><center>
    <form action="<%=LOGON_PAGE%>" method="POST">
    <table border="2" cellpadding="2" cellspacing="2">
      <tr>
        <th colspan="4" align="left">Enter User Name and Password</th>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="left">Please type your user name and password.</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Site</td>
        <td align="left"><%=Request.ServerVariables("SERVER_NAME")%> &#xa0;</td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">User Name</td>
        <td align="left"><input name="UID" type="text" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td align="left">Password</td>
        <td align="left"><input name="PWD" type="password" size="20"></td>
        <td>&#xa0;</td>
      </tr>
      <tr>
        <td>&#xa0;</td>
        <td colspan="2" align="center"><input type="submit" value="LOGON"></td>
        <td>&#xa0;</td>
      </tr>
    </table>
    </form>
    </center></div>
    </body>
    </html>
    					
  4. Guarde a página como logon.asp na pasta de início de sessão Web raiz.
  5. Feche a página clicando em Fechar no menu ficheiro .

Passo 5e - criar o início de sessão incluem o ficheiro

Este ficheiro de inclusão fornece a funcionalidade de nome e palavra-passe de utilizador e é utilizado pela secure page e a logon page.
  1. Na barra de ferramentas da FrontPage , clique em Nova página .
  2. Mudar para a vista de HTML e elimine o HTML existente código.
  3. Escreva ou cole o seguinte código na página:
    <%
      ' Do not cache this page.
      Response.CacheControl = "no-cache"
    
      ' Define the name of the users table.
      Const USERS_TABLE  = "tblUsers"
      ' Define the path to the logon page.
      Const LOGON_PAGE   = "/logon/logon.asp"
      ' Define the path to the logon database.
      Const MDB_URL      = "/logon/_private/logon.mdb"
    
      ' Check to see whether you have a current user name.
      If Len(Session("UID")) = 0 Then
        ' Are you currently on the logon page?
        If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
          ' If not, set a session variable for the page that made the request...
          Session("REFERRER") = Request.ServerVariables("URL")
          ' ...and redirect to the logon page.
          Response.Redirect LOGON_PAGE
        End If
      End If
    
      ' This function checks for a username/password combination.
      Function ComparePassword(UID,PWD)
        ' Define your variables.
        Dim strSQL, objCN, objRS
        ' Set up your SQL string.
        strSQL = "SELECT * FROM " & USERS_TABLE & _
          " WHERE (UID='" & ParseText(UID) & _
          "' AND PWD='" & ParseText(PWD) & "');"
        ' Create a database connection object.
        Set objCN = Server.CreateObject("ADODB.Connection")
        ' Open the database connection object.
        objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
          Server.MapPath(MDB_URL) & "; uid=admin; pwd="
        ' Run the database query.
        Set objRS = objCN.Execute(strSQL)
        ' Set the status to true/false for the database lookup.
        ComparePassword = Not(objRS.EOF)
        ' Close your database objects.
        Set objRS = Nothing
        Set objCN = Nothing
      End Function
    
      ' This function restricts text to alpha-numeric data only.
      Function ParseText(TXT)
        Dim intPos, strText, intText
        For intPos = 1 TO Len(TXT)
          intText = Asc(Mid(TXT,intPos,1))
          If (intText > 47 And intText < 58) Or _
             (intText > 64 And intText < 91) Or _
             (intText > 96 And intText < 123) Then
              strText = strText & Mid(TXT,intPos,1)
          End if
        Next
        ParseText = strText
      End Function
    %>
  4. Guarde a página como logon.inc na pasta _private do início de sessão Web.
  5. Feche a página clicando em Fechar no menu ficheiro .

Passo 6 - teste a web de início de sessão

  1. Na Lista de pastas de FrontPage, faça clique sobre default.asp . Na barra de ferramentas da FrontPage , clique em Pré-visualizar no browser .
  2. Agora o browser carrega a home page de exemplo e mostra que o não tem sessão iniciada.
  3. Clique na hiperligação para a página não segura. A página é carregada e mostra que o utilizador não tem sessão iniciada. Clique na hiperligação para a página predefinida.
  4. Clique na hiperligação para a página segura. A página de início de sessão é carregada em vez da página segura.
  5. Escreva utilizadorteste para o nome de utilizador, escreva a palavra-passe para a palavra-passe e, em seguida, clique em início de sessão .
  6. A página segura é apresentada e mostra que tem sessão iniciada como utilizadorteste . Clique na hiperligação para a página predefinida.
  7. A home page de exemplo é carregada e mostra que tem sessão iniciada como utilizadorteste .
  8. Clique na hiperligação para a página não segura. A página é carregada e mostra que tem sessão iniciada como UtilizadorTeste.

Personalizar o exemplo de início de sessão

Pode personalizar o início de sessão de exemplo das seguintes formas:
  • Adicionar nomes de utilizador e palavras-passe: pode abrir a base de dados fazendo no FrontPage e, em seguida, adicionar utilizadores à tabela tblUsers.
  • Proteger outras páginas Web: para proteger outra página Web na Web, tem de guardar o ficheiro com uma extensão ASP, por exemplo, mypage.asp e, em seguida, adicione as seguintes duas linhas no início do ficheiro muito:
    <% @language="vbscript" %>
    <!--#include virtual="/logon/_private/logon.inc"-->
    						
    a primeira linha especifica que estiver a utilizar o Microsoft Visual Basic Scripting Edition (VBScript) para a linguagem de script e a segunda linha inclui a funcionalidade de nome e palavra-passe de utilizador a partir do logon include file que criou anteriormente.

Referências

Para obter mais informações sobre como integrar ASP (Active Server Pages) com bases de dados e segurança, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
299987Como utilizar a base de dados e sessões ASP para implementar segurança ASP
300382Como criar uma ligação à base de dados a partir de uma página ASP no IIS

Propriedades

Artigo: 321439 - Última revisão: 1 de fevereiro de 2007 - Revisão: 5.2
A informação contida neste artigo aplica-se a:
  • Microsoft FrontPage 2002 Standard Edition
Palavras-chave: 
kbmt kbdatabase kbasp kbprogramming kbhowtomaster KB321439 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 321439

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com