Alcançar a segurança do site envolve os seguintes aspectos:
Autenticação de identidade : O processo de confirmação da identidade e autenticidade de um usuário. Quatro tipos de autenticação são fornecidos no ASP.NET:
Certificação Windows
autenticação de formulário
Autenticação
Autenticação personalizada
Autorização : O processo de definição e atribuição de funções específicas a usuários específicos.
Confidencialidade : Inclui criptografia para navegadores clientes e servidores web.
Integridade : Mantenha a integridade dos dados. Por exemplo, implemente assinaturas digitais.
De modo geral, a autenticação baseada em formulários envolve a edição de um arquivo de configuração de rede e uma página de registro com um código de verificação. O arquivo de configuração de rede pode ser escrito pelo seguinte código:
<configuration><system.web> <authentication mode="Forms"> <forms loginUrl ="login.aspx"/> </authentication> <authorization> <deny users="?"/> </authorization></system .web>......</configuração>
A página login.aspx mencionada no trecho de código acima pode conter o seguinte código, incluindo o nome de usuário e a senha para autenticação, que é difícil de codificar no arquivo.
protegido bool autenticar(String uname, String pass){ if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == " dick123") return true; } if(uname == "Harry") { if(pass == "har123") return true; } return false;}public void OnLogin(Object src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked } else { Response.Write("Nome de usuário ou senha inválidos" }});
Observe que a classe FormsAuthentication é usada para o processo de autenticação.
No entanto, o Visual Studio facilita a implementação perfeita da criação, autenticação e autorização de usuários por meio da ferramenta de gerenciamento de sites, sem escrever nenhum código. Esta ferramenta permite a criação de usuários e funções.
Além disso, o ASP.NET possui uma série de controles de login prontos que podem controlar e realizar todo o trabalho para você.
Para configurar a autenticação baseada em formulários, você precisa fazer o seguinte:
Banco de dados de usuários para suportar o processo de autenticação
Um site que usa um banco de dados
conta de usuário
Papel
Limitações nas atividades do usuário e atividades de grupo
Uma página de usuário que exibe o status do usuário e outras informações
Uma interface de login que permite aos usuários fazer login, recuperar senhas e alterar senhas.
Para criar um usuário, as seguintes etapas precisam ser executadas:
Etapa 1: Selecione Site->Configurar ASP.NET para abrir a ferramenta de gerenciamento de aplicativos da web.
Passo 2: Clique em Opções de segurança.
Etapa 3: Selecione a opção ‘Autenticação baseada em formulários’ para definir o tipo de autenticação como ‘Da Internet’.
Passo 4: Clique em ‘Criar usuários’. Se você já criou uma função, poderá atribuí-la ao usuário nesta etapa.
Etapa 5: Crie um site e adicione as seguintes páginas:
página de boas-vindas
Página de login
Página de registro
Página de recuperação de senha
Página de alteração de senha
Etapa 6: Defina um controle de status de login na seção de login da página de boas-vindas. Contém duas caixas padrão: LoggedIn e LoggedOut.
LoggedIn tem a opção de visualizar usuários logados e LoggedOut tem a opção de visualizar usuários desconectados. Você pode alterar as propriedades do texto de login e logout na janela de propriedades.
Etapa 7: Configure um controle LoginView abaixo do controle LoginStatus. Você pode definir algum outro texto ou outros controles (como hiperlinks, botões, etc.) que refletem se o usuário fez login.
Este controle possui duas caixas padrão: a caixa Anônimo e a caixa LoggedIn. Selecione cada visualização e escreva algum texto para o usuário exibir quando a caixa de critérios for selecionada. O texto deve ser colocado na área marcada em vermelho na imagem abaixo.
Etapa 8: O desenvolvedor cria usuários do aplicativo. Você pode permitir que os visitantes também criem uma conta de usuário. Para conseguir isso, você pode adicionar um link no controle LoginView que leva você à página de registro.
Etapa 9: Configure um controle CreateUserWizard na página de registro. Defina a propriedade ContinueDestinationPageUrl desse controle para garantir que você possa acessar a página de boas-vindas.
Etapa 10: Crie uma página de login. Configure um controle de login nesta página. O controle LoginStatus se conecta automaticamente à página de login. Você pode alterar essa configuração padrão fazendo as seguintes alterações no arquivo de configuração de rede.
Por exemplo, se você nomeou sua página de login como signup.aspx, poderá adicionar as seguintes linhas de código ao arquivo de configuração de rede.
<configuration> <system.web> <authentication mode="Forms"> <forms loginUrl ="signup.aspx" defaultUrl = “Welcome.aspx” /> </authentication> </system.web></configuration>
Passo 11: Os usuários muitas vezes esquecem suas senhas. O controle PasswordRecovery ajuda os usuários a recuperar o login nesta conta. Selecione o controle de login. Abra sua pequena aba e selecione ‘Converter para modelo’.
Ao personalizar a interface do usuário desse controle, coloque um controle de hiperlink abaixo do botão de login. Esse controle deverá ser capaz de vincular à página de recuperação de senha.
Etapa 12: Defina um controle PasswordRecovery na página de recuperação de senha. Este controle exige que o servidor de e-mail envie a senha ao usuário.
Etapa 13: Defina um link para a página de alteração de senha na caixa LoggedIn do controle LoginView na página de boas-vindas.
Etapa 14: Defina um controle ChangePassword na página de alteração de senha. Este controle tem duas visualizações:
Agora execute o aplicativo e observe as diferentes operações de segurança. Você pode voltar para a ferramenta de gerenciamento de aplicativos web e clicar na opção de segurança para criar uma função. Clique em 'Criar funções' para criar algumas funções para este aplicativo.
Clique em 'Gerenciar usuários' para atribuir funções aos usuários.
Secure Sockets Layer (SSL) é um protocolo usado para garantir conexões seguras. Ao usar SSL, o navegador criptografa todos os dados enviados ao servidor e descriptografa todos os dados do servidor. Ao mesmo tempo, o servidor também criptografará e descriptografará todos os dados no navegador Liangzi.
A URL para uma conexão segura usa o protocolo HTTPS em vez do protocolo HTTP. Um pequeno cadeado também será exibido pelos navegadores que utilizam conexões seguras. Quando um navegador se comunica ativamente com um servidor usando SSL, o servidor envia um certificado de segurança para autenticar o próprio servidor.
Para usar SSL, você precisa adquirir um certificado de segurança digital de uma autoridade de certificação (CA) confiável e instalar o certificado no servidor de rede. A seguir estão algumas organizações de certificação confiáveis e com boa reputação:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL está integrado em todos os principais navegadores e servidores. Para habilitar o SSL, você precisa instalar um certificado digital. A força dos diferentes certificados digitais varia dependendo do comprimento da chave gerada durante o processo de criptografia. Quanto mais longa for a chave, mais seguro será o certificado e mais segura será a conexão.
força | descrever |
---|---|
40 bits | Suporta a maioria dos navegadores, mas é fácil de hackear. |
56 bits | Mais robusto que 40 bits. |
128 bits | É difícil decifrar, mas nem todos os navegadores o suportam. |