Permettez-moi de commencer en disant que je suis sur cette question depuis environ une semaine et demie maintenant et je ne peux pas la résoudre. Je pense que je suis proche, mais à chaque fois que j'ai pensé l'être jusqu'à présent, j'avais tort. J'ai regardé chaque post de forum auquel je peux penser et rien n'a fonctionné.
Je tente simplement de faire en sorte que mon application web et son service respectif utilisent l'authentification Windows afin que, dans le code, je puisse récupérer les informations d'identification de l'utilisateur actuellement connecté, sans les solliciter, et les transmettre à ma procédure stockée de base de données via mon service.
Ça a l'air assez facile, non?
FAUX!
Avec WireShark en cours d'exécution, je reçois toujours une réponse de KRB_ERROR (30) avec plus de détails:
error_code: KRB5KRB_AP_ERR_MODIFIED (41)
Je vais essayer cela demain, mais je pense poster maintenant au cas où quelqu'un aurait une idée de pourquoi je continue à obtenir l'erreur KRB5KRB_AP_ERR_MODIFIED en fonction de ma configuration actuelle que je vais énumérer ci-dessous.
Voici ma configuration actuelle:
Windows Server 2008 R2 Standart SP1 64 bits 4,00 Go de RAM.
Pour les besoins de ce post, nous appellerons ce serveur DALDEP01.TEST.LOCAL, et j'ai ce qui suit sur celui-ci:
-
MS SQL Server 2008 R2 qui a une base de données que nous appellerons Deploy.
-
Un seul compte utilisateur a accès à la base de données Deploy qui est TEST\DeploySvc.
-
Ce compte utilisateur est un lecteur de données / écrivain de données et s'est vu accorder EXEC.
-
-
IIS 7.5 qui héberge 2 sites Web:
-
Deploy.Service qui effectue des opérations CRUD contre la base de données Deploy.
-
Deploy.Web qui héberge une application Silverlight 4 qui appelle le Deploy.Service.
-
Les deux sites sont configurés de manière identique (parce que je ne sais pas comment le faire autrement):
-
Ils utilisent DeployAppPool qui s'exécute sous le compte utilisateur personnalisé TEST\DeploySvc.
-
L'authentification anonyme est désactivée.
-
L'authentification Windows est activée
-
La protection étendue est Accept.
-
L'authentification en mode noyau est cochée.
-
Les fournisseurs sont simplement Negotiate, (car j'ai supprimé NTLM car je veux uniquement Kerberos).
-
-
-
-
SPNs sont configurés comme suit:
C:\> setspn -l deploysvc
Registered ServicePrincipalNames for CN=DeploySvc,OU=Services Accounts,DC=test,DC=local:
HTTP/deploy.test.local
HTTP/deploy