2009-06-04 9 views
1

quelqu'un peut-il élaborer le différent?NtlmSsp vs kerberos

J'utilise actuellement ntlmssp.authenticaten (jcifs) mais ne semble pas capable de faire getPassword(). il revient toujours nul

Répondre

3

Il y a une différence. Avec Kerberos, vous devrez demander à votre administrateur de domaine un nom principal de service (SPN) pour votre application Web. Essentiellement, il s'agit d'une entrée dans Active Directory avec une clé de chiffrement qui permettra à votre application Web de décoder les demandes d'authentification. Avec NTLM, vous n'avez pas besoin de la coopération de votre administrateur. Votre application Web obtiendra des informations du client (navigateur) qu'il peut utiliser pour tenter une connexion à un contrôleur de domaine. L'information du client n'inclut pas le mot de passe de l'utilisateur - ce serait trop peu sûr. Au lieu de cela, le filtre NTLM reçoit un défi du contrôleur de domaine et le transmet au client. Le client hache le mot de passe avec le défi pour créer une réponse. Lorsque cette réponse est renvoyée au contrôleur de domaine en tant que demande d'ouverture de session, le contrôleur de domaine indique au filtre jcifs si le mot de passe était correct ou non.

Certaines classes jcifs ont une méthode getPassword, car elle vous permet de créer directement la requête d'ouverture de session à partir d'un nom d'utilisateur et d'un mot de passe. Si vous utilisez cette approche, vous pouvez également récupérer le mot de passe. Mais ce n'est pas l'approche utilisée lorsque vous laissez le navigateur s'authentifier pour vous, donc vous ne serez pas en mesure de récupérer le mot de passe réel.

Questions connexes