Pregunta

Estoy tratando de crear una página de inicio de sesión personalizada para SharePoint 2013. Tengo un proyecto existente de 2010 que funciona bien que estoy usando como modelo para una versión 2013, pero no puedo hacerlo para trabajar. < / p>

Lo que ha funcionado es hacer mi propia página vacía que se basa en multilogonpage, pero estoy tratando de hacer una página de inicio de sesión fusionada (Formulario, redirección de Windows, etc.). Y parece que la heredación de la página existente tiene muchas restricciones. En particular, cualquier tipo de código principal de código conduce a:

La operación no es válida debido al estado actual del objeto. Descripción: Una excepción no controlada ocurrió durante la ejecución de La solicitud web actual. Por favor revise el seguimiento de la pila para más Información sobre el error y donde se originó en el código.

Detalles de la excepción: System.InvalidOperationException: La operación no es Válido debido al estado actual del objeto.

ERROR ERROR:

Se generó una excepción no controlada durante la ejecución de la Solicitud web actual. Información sobre el origen y la ubicación de La excepción se puede identificar utilizando el seguimiento de la pila de excepciones a continuación.

STICK TRACE:

[InvalidOperationException: La operación no es válida debido a la corriente estado del objeto.]
Microsoft.SharePoint.IdentityModel.pages.multiLogonPage.ONOAD (eventoargs e) +1118 System.web.ui.control.loadrecursive () +95
System.Web.ui.page.ProcessRequestMain (Boolean IncludeTestagesBeforeasyncPoint, incluyendo BOOLEAN PUNTOSFPTERASYNCPOINT) +2936

No es un problema web.config, porque se establece para permitir a todos los usuarios en la página de inicio de sesión.

Estoy perdiendo claramente algo en la configuración básica, pero no sé qué.

Ciertamente parece de lugares como http://davidlozzi.com/2011/07/15/2011/07/15/sharepoint-2010-create-unique-login-page-with-forms-based-authentication/ que esto es bastante simple ... .

Todo está en la zona predeterminada en este momento, por lo que no es nada que eso. La página de inicio de sesión se configura correctamente para la aplicación web porque está sucediendo la redirección a la página de inicio de sesión.

¿Fue útil?

Solución

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.

Otros consejos

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.

Licenciado bajo: CC-BY-SA con atribución
scroll top