Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O recurso associado a esta página, do SDK do Windows Media Format 11, é um recurso herdado. Foi substituído por de Leitor de Origem e do Gravador do Coletor de. de Leitor de Origem e Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use de Leitor de Origem e o Gravador do Coletor em vez de do SDK do Windows Media Format 11, quando 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 os 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 a interface 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 deverá implementar a interface IWMCredentialCallback.
Nota
Os Serviços de Mídia do Windows versão 4.1 não dão suporte à autenticação NTLM por meio 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 dá suporte à autenticação NTLM por meio de um servidor proxy, desde que o proxy dê suporte a conexões keep-alive.
Conforme 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. As consultas de objeto de leitor para essa interface chamando queryInterface no ponteiroIWMReaderCallback que ele recebeu do aplicativo no método IWMReader::Open. Se o objeto leitor precisar obter as credenciais do usuário, ele chamará o método AcquireCredentials do aplicativo.
Se as credenciais forem enviadas pela rede sem criptografia, o leitor definirá o sinalizador WMT_CREDENTIAL_CLEAR_TEXT no parâmetro pdwFlags. Isso dá ao aplicativo a oportunidade de avisar o usuário de que suas credenciais serão enviadas em texto sem formatação.
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 sem formatação. Além disso, se o objeto leitor definir o sinalizador WMT_CREDENTIAL_ENCRYPT, isso significará que o leitor dá suporte à 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, que é descrita na documentação do SDK da Plataforma. Se o aplicativo criptografar as credenciais, ele deverá definir o sinalizador WMT_CREDENTIAL_ENCRYPT no parâmetro pdwFlags antes que o método retorne.
Geralmente, não é necessário criptografar os dados, pois o objeto leitor criptografa os dados, se necessário. No entanto, a criptografia poderá 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