Domanda

Sto cercando di creare una pagina di accesso personalizzato per SharePoint 2013. Ho un progetto esistente del 2010 che funziona bene che sto usando come modello per una versione 2013, ma non riesco a farlo funzionare. < / P >.

Ciò che ha funzionato sta facendo la mia pagina vuota basata sulla multilogonpage, ma sto cercando di eseguire una pagina di accesso unito (modulo, reindirizzamento di Windows, ecc.). E sembra che ereditare dalla pagina esistente abbia molte restrizioni. In particolare qualsiasi tipo di principale codeBehind porta a:

.

L'operazione non è valida a causa dello stato corrente dell'oggetto. Descrizione: Si è verificata un'eccezione non gestita durante l'esecuzione di la richiesta Web corrente. Si prega di rivedere la traccia dello stack per di più informazioni sull'errore e dove è nato nel codice.

Dettagli di eccezione: System.invalidOperationException: il funzionamento non lo è valido a causa dello stato corrente dell'oggetto.

Errore di origine:

un'eccezione non gestita è stata generata durante l'esecuzione del richiesta di rete corrente. Informazioni riguardanti l'origine e la posizione di L'eccezione può essere identificata utilizzando la traccia dello stack di eccezione sotto.

Stack Trace:

[InvalidOperationException: il funzionamento non è valido a causa della corrente stato dell'oggetto.]
Microsoft.sharepoint.identitymodel.pages.multilogonpage.oad (EventArgs. e) +1118 System.web.ui.control.loadRecursative () +95
System.web.ui.page.processrequestmain (boolean. IncluddagesBeforeaAsyncpoint, Boolean InclusaGrageFarasynCpoint) +2936

Non è un problema Web.config, perché è impostato per consentire a tutti gli utenti nella pagina di accesso.

Mi manca chiaramente qualcosa nella configurazione di base ma non so cosa.

Sembra certamente da luoghi come http://davidlozzi.com/2011/07/15/SharePoint-2010-Create-Unique-Login-page-with-Forms-Based-Authentication/ che questo è piuttosto semplice .. .

Tutto è nella zona predefinita in questo momento, quindi non è nulla intorno a questo. La pagina di accesso è impostata correttamente per l'applicazione Web perché sta accadendo il reindirizzamento alla pagina di accesso.

È stato utile?

Soluzione

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.

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top