Share via


ActiveDirectoryMembershipProvider.EnablePasswordReset Propriedade

Definição

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

Boolean

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 Criptografar 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 de associação (ASP.NET Configurações Esquema).

Você só pode definir a EnablePasswordReset propriedade true quando as seguintes configurações de elemento elemento de associação (ASP.NET Configurações Esquema) tiverem sido feitas.

  • requiresQuestionAndAnswer deve ser true.

  • O esquema do Active Directory deve ser modificado para conter atributos para armazenar a pergunta e a resposta de senha, bem como os três campos de acompanhamento para tentativas de alteração de resposta de senha.

  • attributeMapPasswordQuestion, attributeMapPasswordAnswer, attributeMapFailedPasswordAnswerCounte attributeMapFailedPasswordAnswerTime``attributeMapFailedPasswordAnswerLockoutTime deve ser mapeado 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 pode redefinir senhas de usuário, a menos que as credenciais usadas para se conectar ao servidor Active Directory tenham direitos de Administrador de Domínio (não recomendado) ou o direito de acesso de "redefinir senha".

Aplica-se a

Confira também