Question

J'essaie de créer une page de connexion personnalisée pour SharePoint 2013. J'ai un projet de 2010 existant qui fonctionne correctement que j'utilise comme modèle pour une version 2013, mais je ne peux pas l'obtenir pour travailler. < / p>

Qu'est-ce qui a fonctionné fait ma propre page vide basée sur MultiLogonPage, mais j'essaie de faire une page de connexion fusionnée (formulaire, redirection de Windows, etc.). Et il semble que hériter de la page existante a beaucoup de restrictions. En particulier, tout type de CodeBeHind majeur conduit à:

L'opération n'est pas valide en raison de l'état actuel de l'objet. Description: Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. S'il vous plaît examiner la trace de la pile pour plus de informations sur l'erreur et l'endroit où elle est originaire du code.

Détails d'exception: système.invalidoperationException: l'opération n'est pas valable en raison de l'état actuel de l'objet.

Erreur source:

Une exception non gérée a été générée lors de l'exécution de la Demande Web actuelle. Informations concernant l'origine et l'emplacement de L'exception peut être identifiée à l'aide de la trace de pile d'exception ci-dessous.

trace de pile:

[InvalidOperationException: l'opération n'est pas valide en raison du courant actuel état de l'objet.]
Microsoft.SharePoint.identityModel.Pages.MultilogOnPage.Onload (Eventargs e) +1118 system.web.ui.control.loadRecursive () +95
System.web.ui.page.processrequestmain (booléen IncluseStagesBeforeAsyncpoint, Boolean InclimdetagesAfterAsynCpoint) +2936

Ce n'est pas un problème Web.config, car cela est défini pour permettre à tous les utilisateurs de la page de connexion.

Je manque clairement quelque chose dans la configuration de base, mais je ne sais pas quoi.

Il semble certainement d'endroits comme http://davidlozzi.com/2011/07/15/SharePoint-2010-create-unique-login-page-with-forms-based-aThentication/ que c'est assez simple .. .

Tout est dans la zone par défaut en ce moment, donc ce n'est donc rien autour de cela. La page de connexion est définie correctement pour l'application Web car la redirection de la page de connexion se produit.

Était-ce utile?

La solution

I basically gave up and threw away what I had, starting over with http://davidlozzi.com/2011/07/15/sharepoint-2010-create-unique-login-page-with-forms-based-authentication/. The key I think is inheriting from the Forms sign-in page, but that's still squirrelly. I'd rather know exactly what that class is doing that lets it work but I don't have time to dig into it and replicate it.

Autres conseils

That error seems to occur when you attempt to use a CodeFile (aspx.cs) with a Page that inherits from Microsoft.SharePoint.IdentityModel.Pages.MultiLogonPage.

The error doesn't come up when you use compiled code or use CodeBehind and place the aspx.cs page in the App_Code directory.

You can also get rid of the error by removing base.Onload() from your overrided OnLoad method.

 protected override void OnLoad(EventArgs e)
    {
        //base.OnLoad(e);
    }

If you do this, the page title and text in front of the drop down list asking you to select an authentication method does not show up.

However, the drop down list is still added to the page and is still functional.

The MultiLogonPage is meant for allowing the user to select from a drop down list of login types and forward the user to the appropriate login type based off the postback from the drop down list.

Not quite sure why the error only occurs when trying to use a CodeFile, but there are ways to get it working, as I mentioned.

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