Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. do Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize do Leitor de Origem e do Gravador de Separadores em vez de SDK do Windows Media Format 11, sempre que possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O objeto leitor pode lidar com desafios de autenticação de rede, incluindo autenticação digest e autenticação NTLM. Em alguns casos, o aplicativo deve fornecer as credenciais do usuário por meio de uma interface de retorno de chamada:
Autenticação Digest: O aplicativo deve implementar o interface de IWMCredentialCallback, conforme descrito posteriormente neste tópico.
Autenticação NTLM: O leitor responde automaticamente com as credenciais de logon do usuário. Se o usuário atual estiver autorizado a fazer logon no servidor, o aplicativo não precisará fazer nada. Se o usuário não tiver autorização, o aplicativo deve implementar o IWMCredentialCallback interface.
Observação
O Windows Media Services versão 4.1 não suporta autenticação NTLM através de um servidor proxy. A autenticação NTLM requer várias trocas cliente-servidor na mesma conexão e a versão 4.1 não mantém uma conexão persistente com o proxy. O Windows Media Services 9 Series no Microsoft Windows Server 2003 oferece suporte à autenticação NTLM por meio de um servidor proxy, desde que o proxy ofereça suporte a conexões keep-alive.
Como observado, em alguns casos, o aplicativo deve fornecer as credenciais do usuário. Isso ocorre por meio da interface IWMCredentialCallback, que tem um único método, AcquireCredentials. Para dar suporte à autenticação, implemente essa interface em seu aplicativo. O objeto reader consulta essa interface chamando QueryInterface no ponteiro deIWMReaderCallbackque recebeu do aplicativo no métodoIWMReader::Open. Se o objeto leitor precisar obter as credenciais do usuário, ele chamará o do aplicativo AcquireCredentials método.
Se as credenciais forem enviadas pela rede sem criptografia, o leitor define o sinalizador de WMT_CREDENTIAL_CLEAR_TEXT no parâmetro pdwFlags. Isso dá ao aplicativo a oportunidade de avisar o usuário que suas credenciais serão enviadas em texto simples.
Caso contrário, o objeto leitor criptografa automaticamente as credenciais antes de enviá-las pela rede. O aplicativo pode devolvê-los ao objeto leitor em texto simples. Além disso, se o objeto reader definir o sinalizador WMT_CREDENTIAL_ENCRYPT, isso significa que o leitor suporta a obtenção de credenciais criptografadas do aplicativo. Nesse caso, o aplicativo pode retornar as credenciais em texto sem formatação ou criptografá-las usando a função CryptProtectData, descrita na documentação do Platform SDK. Se o aplicativo criptografar as credenciais, ele deverá definir o sinalizador de WMT_CREDENTIAL_ENCRYPT no parâmetro pdwFlags antes que o método retorne.
Geralmente, não é necessário criptografar os dados, porque o objeto leitor criptografa os dados, se necessário. No entanto, a criptografia pode ser útil se o aplicativo mantiver o nome de usuário e a senha na memória, pois impede que um invasor inspecione um despejo de memória do processo.
Tópicos relacionados