Pregunta

Estoy enfrentando algunos problemas de acceso por reclamo basado en mi servicio web.

En mi aplicación solo hay reclamo basado: Windows Auth está deshabilitado y NTLM también. Si accede a SharePoint por la interfaz basada en la web, esto me reconoce como userx y todo va.

Si accede por WS hay 2 escenarios:

  • llamada por dirección (cuenta del sistema) -> Todo va bien
  • Llamada por userx (NO SA pero SCADMIN) -> Referencia de objetos no establecida en una instancia de un objeto

    El código es muy simple, solo obtiene el nombre de inicio de sesión de usuario actual:

    using (SPSite sito = new SPSite("https://to0wss2k10rey03:50000/sites/Test1"))
                {
                    using (SPWeb web = sito.OpenWeb())
                    {
                        string Username =  web.CurrentUser.LoginName;
                    }
                }
    

    Se plantea la excepción cuando intento obtener elUnSer, que parece ser NULL ..

¿Fue útil?

Solución

Estoy tranquilo desconcertado por cómo funciona con la conserción, siempre debe fallar.

Cuando se ejecuta con reclamaciones sin NTLM, la única forma de pasar las credenciales es a través de una cookie de FedAuth con su token SAML de SharePoint STS.Para obtener ese token, debe llamar a SharePoint Sts con un token de SAML desde su IdentityProvider (ADFS?).Para obtener ese token, debe llamar al proveedor de identidad con información de inicio de sesión.

Consulte RECLAMACIONES PROXY - BIBLIOTECA DE AC # PARA LLAMADAS DE LLAMADA Servicios web protegidos Conexión a SharePoint con la autenticación de reclamaciones o el blog principal sobre SharePoint con reclamaciones Share-n-dipity

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