1

J'ai créé un fournisseur de revendications personnalisé pour permettre aux utilisateurs de se connecter à SharePoint à partir d'un site web existant. Cela émet des revendications, y compris une revendication d'UPN dans le format nom d'utilisateur @ domaine. L'utilisateur peut se connecter correctement jusqu'à ce que j'active mapToWindows et useWindowsTokenService sous samlSecurityTokenRequirement dans le fichier web.config de l'application Web SharePoint. À ce stade, je reçois un message d'erreur standard de SharePoint et l'exception suivante est visible dans la trace.questions/Sharepoint Claims de C2WTS avec Performance Point/Services Excel

Exception fetching current thread user in SPUtility.CacheClaimsIdentity: Exception of type 'System.ArgumentException' was thrown. 
Parameter name: identity 0.00143314303912927 0.001357 
Runtime Tag(tkau) System.ArgumentException: Exception of type 'System.ArgumentException' was thrown. 
Parameter name: encodedValue 
    at Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue) 
    at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedSuffix) 
    at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers) 
    at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PreRequestExecuteAppHandler(Object oSender, EventArgs ea) 
    at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

Je pense que la partie C2WTS de l'usurpation d'identité fonctionne correctement, car si je désactive le compte AD représenté par la demande UPN passé alors je reçois un autre « accès est refusé » erreur indiqué dans SharePoint lorsque vous essayez de vous connecter en tant cet utilisateur.

également dans le SharePoint journal il apparaît que l'UPN a été converti en un compte Windows AD parce que je reçois le texte suivant dans le journal:

Verbose ____Current User=i:DOMAINNAME\SSO_administrator 7b4eac31-d017-429c-87f2-a3100ece6797 

Mise à jour

Il ressemble peut-être ce n'est pas un paramètre pris en charge à utiliser dans SharePoint. Cependant, si je laisse le paramètre désactivé, il semble que les rapports Performance Point et Excel Services incorporés dans le site SharePoint ne fonctionnent pas correctement. Je reçois des erreurs telles que:

  • The data connection uses Windows Authentication and user credentials could not be delegated. (Excel)
  • $Resources:ppsma.ServerCommon, ErrorCode_DataSourceCannotGetWindowsIdentityForNonWindowsClaim; (Rapport sur le rendement point SSRS)

Y at-il un moyen de contourner cela? J'ai besoin que le compte UPN de l'utilisateur soit le compte utilisé pour interroger les données SSAS derrière celles-ci, il n'est donc pas possible d'utiliser des chaînes de connexion fixes.

+0

I toujours thougt, lors de l'intégration AD mise en œuvre personnalisée avec mon portail intranet, ce domaine nom d'utilisateur @ est le même que DOMAIN \ nom d'utilisateur, mais cela ne correct. En effet, le fournisseur d'itentity Windows utilise le formulaire, appelé nom principal "court": DOMAINE \ nom d'utilisateur, mais la forme longue est difficilement compatible avec le formulaire de connexion dfault ASP.NET, car le nom d'utilisateur "[email protected]".name' ne peut pas être traduit en forme abrégée automatiquement, donc j'ai invoqué manuellement l'usurpation d'identité ActiveDirectory chaque fois que l'utilisateur se connecte à mon portail intranet –

+0

Essayez d'utiliser SPContext.Current.User.Identity.Name comme paramètre –

Répondre

0

Il se trouve que la valeur de configuration mapToWindows est pas pris en charge dans SharePoint. Vous devez vous assurer que chaque partie de SharePoint prend en charge les revendications et convertit le jeton lui-même. C'est un peu pénible car PerformancePoint et Excel Services ne sont pas conscients des revendications, si bien que vous finissez par être bloqué avec l'authentification Windows si votre cube SSAS nécessite une sécurité AD.

0
Questions connexes