Compartilhar 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

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 ser true.

  • 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, attributeMapFailedPasswordAnswerTimee attributeMapFailedPasswordAnswerLockoutTime 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".

Aplica-se a

Confira também