ActiveDirectoryMembershipProvider.EnablePasswordReset Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se a instância ActiveDirectoryMembershipProvider está configurada para permitir que os usuários redefinam suas senhas.
public:
virtual property bool EnablePasswordReset { bool get(); };
public override bool EnablePasswordReset { get; }
member this.EnablePasswordReset : bool
Public Overrides ReadOnly Property EnablePasswordReset As Boolean
Valor da propriedade
true
se a redefinição de senha for permitida; caso contrário, false
. O padrão é false
.
Exceções
Uma tentativa de acessar a propriedade EnablePasswordReset foi feita antes da inicialização da instância ActiveDirectoryMembershipProvider.
Exemplos
O exemplo de código a seguir mostra uma entrada de Web.config que configura uma ActiveDirectoryMembershipProvider instância para habilitar redefinições de senha. Ele usa as credenciais explícitas de um usuário dado o direito de acesso de "redefinir senha".
Importante
Quando você coloca credenciais de usuário em seu arquivo de Web.config, há possíveis ameaças à segurança. Os usuários com direitos de acesso ao diretório que contém o arquivo Web.config podem ler o arquivo e, portanto, ver as credenciais. Para obter detalhes sobre como proteger contra essa ameaça, consulte Criptografando informações de configuração usando a configuração protegida.
<configuration>
<connectionStrings>
<add name="ADService" connectionString="LDAP://ldapServer/" />
</connectionStrings>
<system.web>
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.3600, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionUsername="UserWithResetPasswordRights"
connectionPassword="PasswordForUser"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
attributeMapPasswordQuestion="PasswordQuestionADAttribute"
attributeMapPasswordAnswer="PasswordAnswerADAttribute"
attributeMapFailedPasswordAnswerCount="AnswerCountADAttribute"
attributeMapFailedPasswordAnswerTime="AnswerTimeADAttribute"
attributeMapFailedPasswordAnswerLockoutTime="LockOutTimeADAttribute" />
</providers>
</membership>
</system.web>
</configuration>
Comentários
A EnablePasswordReset propriedade indica se você pode usar o ResetPassword método para redefinir a senha de um usuário. A EnablePasswordReset propriedade é definida no arquivo de configuração do aplicativo usando o enablePasswordReset
atributo do elemento elemento membership (ASP.NET Settings Schema).
Você só pode definir a EnablePasswordReset propriedade true
quando as seguintes configurações de elemento Elemento de associação (ASP.NET Esquema de Configurações) tiverem sido feitas.
requiresQuestionAndAnswer
deve sertrue
.O esquema do Active Directory deve ser modificado para conter atributos para armazenar a pergunta e a resposta da senha, bem como os três campos de acompanhamento para tentativas de alteração de resposta de senha.
attributeMapPasswordQuestion
,attributeMapPasswordAnswer
,attributeMapFailedPasswordAnswerCount
,attributeMapFailedPasswordAnswerTime
eattributeMapFailedPasswordAnswerLockoutTime
devem ser mapeados para atributos no esquema do Active Directory.
Se os critérios acima não forem atendidos, um ProviderException será gerado na inicialização.
Quando a cadeia de conexão no arquivo de configuração do aplicativo especifica um domínio do Active Directory em vez de um servidor específico, a ActiveDirectoryMembershipProvider instância sempre se conectará ao controlador de domínio que tem a função PDC para o domínio para garantir que as alterações de senha entrem em vigor e estejam disponíveis quando o ValidateUser método for chamado.
Observação
Mesmo que a EnablePasswordReset propriedade seja true
, você não poderá redefinir senhas de usuário, a menos que as credenciais usadas para se conectar ao servidor do Active Directory tenham direitos de Administrador de Domínio (não recomendado) ou o direito de acesso de "redefinir senha".