Sign In
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
brunohpj
When:
12 Jan 2012 5:50 AM
Last revision by
brunohpj
When:
12 Jan 2012 5:55 AM
Revisions:
2
Comments:
0
Options
Subscribe to Article (RSS)
Share this
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using the Report Abuse link in the footer.
Wiki
>
TechNet Articles
>
Active Directory e Form Authentication em Web Forms
Active Directory e Form Authentication em Web Forms
Article
History
Active Directory e Form Authentication em Web Forms
Neste artigo tento demonstrar como implementar segurança para sites em ASP.Net da forma mais completa, para isso foi criado um protótipo que esta disponível no
Codplex
e possui a seguinte estrutura.
Começando o projeto “framework” que é a biblioteca de classes que possui as classes de acesso ao Active Directory. Diagrama abaixo demonstra a relação entre essas classes.
O segundo projeto é o site que irá utilizar o “framework” para autenticar no Active Directory. Este projeto possui duas páginas onde a página Login.aspx realiza a autenticação e a página Inicio.aspx é a página para onde é redirecionado após a autenticação.
O Trecho de código a seguir é a implementação do evento do botão que faz a autenticação e que está na página Login.aspx
using framework;
......
protected void Button1_Click(object sender, EventArgs e)
{
lblMensagem.Text = null;
//...
LDAP _autenticar = new LDAP("ldap=<ip AD>;domain=<domínio>");
AuthenticationStatus _status = _autenticar.validate(txtLogin.Text, txtSenha.Text);
//...
if (_status) //Se válido
this.singIn(_status.user.userName);
else if (_status == AuthenticationIndex.PasswordFail)//Se login ou senha incorreto
lblMensagem.Text = "Login ou senha inválido(s)";
else //Se qualquer outro erro
lblMensagem.Text = _status.message;
}
Outra questão importante de destacar é a configuração do Web.config para a configuração da segurança que no protótipo esta da seguinte forma.
<configuration>
<system.web>
... ... ...
<authentication mode="Forms">
<forms
loginUrl="~/Login.aspx" defaultUrl="~/Inicio.aspx" protection="All"
timeout="2880" name="frmLogin" path="/" requireSSL="false"
slidingExpiration="true" enableCrossAppRedirects="false"
/>
</authentication>
<authorization>
<deny users="?" />
</authorization>
<machineKey
validationKey="AutoGenerate" decryptionKey="AutoGenerate"
validation="SHA1"
/>
</system.web>
</configuration>
ActiveDirectory
,
FormAuthentication
,
pt-BR
,
WebForms