Question

Je crée un travail de minuterie qui interroge un flux RSS qui nécessite un nom d'utilisateur et un mot de passe.J'aimerais stocker les informations d'identification de connexion dans le service Secure Store.

Je crois que j'ai configuré cela avec succès et pouvez récupérer les informations d'identification à l'aide du code suivant:

ISecureStoreProvider provider = SecureStoreProviderFactory.Create();
ISecureStoreServiceContext providerContext = provider as ISecureStoreServiceContext;
SPSite centralAdminSite = GetCentralAdminSite();    // function that gets the ca site
providerContext.Context = SPServiceContext.GetContext(centralAdminSite);

using (SecureStoreCredentialCollection creds = provider.GetCredentials(applicationId))
{
    // code that obtains the username and password omitted
}

Le problème est que lorsque je mets ce code dans un temporjob, je reçois une erreur:

Credentials were not found for the current user within the target application 'XXXXX'. Please set the credentials for the current user.

Je suppose que c'est parce que le TimerJob fonctionne comme "compte système" où l'application de la console est exécutée comme "sp_admin" (l'utilisateur qui a créé et configuré le service de magasin sécurisé).

Comment puis-je finir cela pour que je puisse récupérer les informations d'identification du magasin sécurisé s'il vous plaît?

Devrais-je stocker les informations d'identification dans le magasin sécurisé ou que la surkilleuse?

Toute aide serait grandement appréciée!

Était-ce utile?

La solution

Avez-vous essayé de configurer les informations d'identification dans le magasin sécurisé pour l'utilisateur en exécutant spécifiquement le travail de la minuterie?Si vous allez au panneau de commande -> Outils administratifs -> Services et trouvez le service de minuterie SharePoint, l'utilisateur dans la colonne "Connexion" doit être l'utilisateur que vous configurez les informations d'identification pour.

Autres conseils

Better Way est de configurer le "type d'application cible" en tant que groupe et définir le compte de service de la minuterie SharePoint dans le champ Membres.

De cette façon, les travaux de minuterie peuvent accéder aux informations d'identification sans avoir à créer des informations d'identification de stockage sécurisé "individuelles" - les informations d'identification pour celles-ci ne sont pas vraiment censées être définies à l'avance par l'administrateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top