Configurar autenticación basada en formularios (FBA) con SharePoint 2010
Tomado de http://blogs.technet.com/b/mahesm/
SharePoint 2010 admite FBA, Como WSS 3.0 o MOSS 2007. Es una característica de ASP. Net que usamos con SharePoint. SharePoint 2010 puede crear aplicaciones web mediante la Autenticación basada en el Clásico o la Autenticación basada en notificaciones. Sin embargo, FBA solo se puede configurar con aplicaciones web creadas mediante Autenticación basada en notificaciones.
¿Cuáles son las diferencias entre la Autenticación en Modo Clásico y la Autenticación basada en reclamaciones?
Autenticación en modo clásico: Se refiere a la autenticación integrada de Windows. No puede configurar la autenticación basada en formularios si su aplicación web utiliza la Autenticación en modo Clásico. Puede convertir una aplicación web de Autenticación en Modo Clásico a Autenticación Basada en notificaciones. Sin embargo, esto solo se puede hacer con comandos de PowerShell y es un proceso irreversible. Tengo pasos detallados para convertir la aplicación web de la autenticación de Modo Clásico a la Autenticación Basada en notificaciones. Autenticación basada en notificaciones: SharePoint 2010 se basa en Windows Identity Foundation. Permite la autenticación desde sistemas Windows y no basados en Windows. Esto también proporciona la capacidad de tener autenticación múltiple en una sola URL.
La configuración de FBA con SharePoint 2010 implica 4 pasos principales. Los pasos para configurar el proveedor de membresía de FBA con SQL se encuentran a continuación:
I> Crear o Convertir aplicaciones web existentes para usar Autenticación basada en notificaciones
II> Crear ID de usuario en la base de datos SQL
III> Modificar web.archivo de configuración
IV> Dar permisos a los usuarios presentes en la base de datos SQL
Nota: Si desea configurar FBA con el proveedor de membresía LDAP, puede consultar el artículo de TechNet.
Encuentre los pasos detallados a continuación:
I> Crear o Convertir aplicaciones web existentes para usar Autenticación basada en notificaciones
Nota: – La aplicación Web debe crearse desde la consola Central de Administración o PowerShell, sin embargo, debe usar Autenticación Basada en notificaciones.
A. Creación de aplicaciones web mediante administración central
-
-
- Abra la Consola Central de Administración.
- Haga clic en Administrar aplicación Web En Administración de aplicaciones.
- Haga clic en nuevo en la cinta.
- Elija Autenticación basada en notificaciones En la parte superior de la página.
- Elija el puerto no para la aplicación web.
- Haga clic en Habilitar Autenticación basada en Formularios (FBA) En Tipos de Autenticación de reclamaciones. La autenticación de Windows está habilitada de forma predeterminada y si no necesita autenticación de Windows, debe eliminar la casilla de verificación.
- Agregar el proveedor de membresía & Nombre del administrador de roles
- Tan pronto como se haya creado la aplicación web, verifique la configuración del proveedor de autenticación para la aplicación web. Tengo la captura de pantalla a continuación:
-
Nota:- Si desea utilizar la Autenticación de Windows y la Autenticación Basada en Formularios en una sola URL, debe seleccionar Habilitar Autenticación de Windows y Habilitar Autenticación Basada en Formularios.
Nota: – Solo para comprender, estoy utilizando el Proveedor de membresía como » SQL-Membershiprovider «y el Administrador de roles como»SQL-RoleManager». Puede usar diferentes nombres, sin embargo, debe recordar el nombre para poder referirlos en la web.archivos de configuración. Estos nombres distinguen entre mayúsculas y minúsculas.
B. ¿Qué sucede si ya tiene una aplicación Web creada con Autenticación en Modo Clásico o Cómo convertir una aplicación Web de autenticación en Modo Clásico a Autenticación basada en notificaciones?
No tiene que eliminar esa aplicación web. Puede convertir esa aplicación web de autenticación en modo clásico a autenticación basada en notificaciones. Sin embargo, esto solo se puede hacer con PowerShell y es un proceso irreversible. Siga los comandos de PowerShell para convertir la aplicación web de la Autenticación en Modo Clásico a la Autenticación basada en notificaciones:
App App = get-spwebapplication » URL »
app app.useclaimsauthentication = «True»
app app.Update()
Ejemplo: –
App App = get-spwebapplication «http://sp1:8000”
$app.useclaimsauthentication = «True»
app app.Update()
Una vez que tenga la aplicación web mediante Autenticación Basada en notificaciones, puede crear una colección de sitios. Ahora, si accede a la aplicación web, puede acceder al sitio seleccionando Autenticación de Windows o Autenticación basada en formularios, como se muestra en la imagen siguiente.
Elija autenticación de Windows e inicie sesión en el sitio. Cuando inicie sesión, se utilizarán sus credenciales de inicio de sesión actuales. Asegúrese de que la cuenta con la que ha iniciado sesión tenga acceso al sitio de SharePoint; de lo contrario, obtendrá un error de acceso denegado.
II> Configure el Proveedor de membresía y el Administrador de roles.
- En SharePoint 2010 server, abra el símbolo del sistema.
- Vaya a C: WindowsMicrsooft .Marco de red 64V2.0.50727
- Ejecute » aspnet_regsql.exe». Esto abrirá el asistente de configuración de ASP. net SQL Server. En este clic en SIGUIENTE.
- Haga clic en «Configurar SQL Server para Servicios de aplicaciones».
- Especifique el nombre de la base de datos. Si no especifica el nombre de la base de datos, creará una llamada a la base de datos aspnetdb.
- Utilice la herramienta membershipseeder para crear usuarios en la base de datos SQL. Puede encontrar la herramienta e información al respecto en codeplex.
Nota: – He especificado el nombre de la base de datos como «SQL-Auth».
III> Modificar la web.archivo de configuración para Proveedor de Membresía y Administrador de Roles.
Necesitamos modificar 3 web diferentes.archivos de configuración para que FBA funcione. Web.configuración de la aplicación Web FBA, web.configuración del Sitio Web de Administración Central &.configuración de STS.
A. Modificar web.configuración de la aplicación web FBA.
- Agregar Cadena de conexión:
<connectionStrings>
<add name=»SQLConnectionString» connectionString=»data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth» />
</connectionStrings>
Cadena de Conexión tiene que ser añadido después de la </SharePoint> y Antes de <sistema.web>
- Agregar Proveedor de membresía y Administrador de Roles:
<RoleManager defaultProvider= » c «enabled =» true «cacheRolesInCookie= «false»>
<proveedores>
<añade name=» c»type =» Microsoft.SharePoint.Administración.Reclamar.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Versión=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c» />
<add connectionStringName=»SQLConnectionString» applicationName=»/» description=»Stores and retrieves roles from SQL Server» name=»SQL-RoleManager» type=»System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a» />
</providers>
</roleManager>
<membership defaultProvider=»i»>
<providers>
<add name=»i» type=»Microsoft.SharePoint.Administration.Reclamar.SPClaimsAuthMembershipProvider, De Microsoft.SharePoint, Version=14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c» />
<add connectionStringName=» SQLConnectionString»passwordAttemptWindow=» 5″enablePasswordRetrieval=» false»enablePasswordReset=» false»requiresQuestionAndAnswer=» true» ApplicationName=»/»requiresUniqueEmail=» true»passwordFormat=» Hashed»description=» Almacena y Recupera datos de membresía de SQL Server»name=» SQL-Membershiprovider»type =» System.Web.Seguridad.SqlMembershipProvider, Sistema.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a» />
</proveedores de>
</la membresía>
</sistema.web>
B. Modificar web.configuración de la aplicación web de Administración Central.
- Agregar Cadena de conexión:
<connectionStrings>
<add name=»SQLConnectionString» connectionString=»data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth» />
</connectionStrings>
Cadena de Conexión tiene que ser añadido después de la </SharePoint> y antes de <sistema.web>
- Agregar Proveedor de membresía y Administrador de Roles:
<Gestor de roles defaultProvider = «AspNetWindowsTokenRoleProvider» enabled = «true» cacheRolesInCookie= «false»>
<proveedores>
<add connectionStringName=» SQLConnectionString » ApplicationName=» / » description=»Almacena y recupera roles del sistema SQL Server» name=»SQL-RoleManager» type=».Web.Seguridad.SqlRoleProvider, Sistema.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a» />
</proveedores de>
</roleManager>
<la membresía defaultProvider=»SQL-MembershipProvider»>
<proveedores de>
<agregar connectionStringName=»SQLConnectionString» passwordAttemptWindow=»5″ enablePasswordRetrieval=»false» enablePasswordReset=»false» requiresQuestionAndAnswer=»true» applicationName=»/» requiresUniqueEmail=»true» passwordFormat=»Hash» description=»Almacena y Recupera los datos de afiliación de SQL Server» name=»SQL-MembershipProvider» type=»System.Web.Seguridad.SqlMembershipProvider, Sistema.Web, Versión = 2.0.3600.0, Cultura = neutral,PublicKeyToken = b03f5f7f11d50a3a» />
</proveedores>
</membresía>
C. Modificar web.configuración de STS. Puede localizar la red STS.config de %programfiles%común filesMicrosoft Sharedweb servidor extensions14WebServicesSecurityToken
<connectionStrings>
<add name=»SQLConnectionString» connectionString=»data source=SQL;Integrated Security=SSPI;Initial Catalog=SQL-Auth» />
</connectionStrings>
<system.web>
<roleManager defaultProvider=»c» enabled=»true» cacheRolesInCookie=»false»>
<providers>
<add name=»c» type=»Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c» />
<add connectionStringName=»SQLConnectionString» applicationName=»/» description=»Stores and retrieves roles from SQL Server» name=»SQL-RoleManager» type=»System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a» />
</providers>
</roleManager>
<membership defaultProvider=»i»>
<providers>
<add name=»i» type=»Microsoft.SharePoint.Administration.Reclamar.SPClaimsAuthMembershipProvider, De Microsoft.SharePoint, Version=14.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c» />
<add connectionStringName=» SQLConnectionString»passwordAttemptWindow=» 5″enablePasswordRetrieval=» false»enablePasswordReset=» false»requiresQuestionAndAnswer=» true» ApplicationName=»/»requiresUniqueEmail=» true»passwordFormat=» Hashed»description=» Almacena y Recupera datos de membresía de SQL Server»name=» SQL-Membershiprovider»type =» System.Web.Seguridad.SqlMembershipProvider, Sistema.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a» />
</proveedores de>
</la membresía>
</sistema.la web>
Anterior debe agregarse antes de < / configuración>
IV> Otorga permisos a los usuarios de la base de datos SQL.
- Acceda a la consola de administración central y haga clic en Administrar aplicaciones web en Administración de aplicaciones.
- Seleccione la aplicación web y haga clic en Política de usuario en ribbon.
- Haga clic en Agregar usuario y seleccione Zona predeterminada.
- Ahora escriba el nombre de usuario, agregue el usuario a la aplicación web definiendo el permiso apropiado.
Problemas comunes:
Si utiliza varias cuentas de servicio según el artículo de TechNet, las cuentas administrativas y de servicio necesarias para la implementación inicial (SharePoint Server 2010), es posible que no pueda resolver los nombres de usuario o agregar usuarios a la aplicación web. Si está utilizando 3 cuentas diferentes (cuenta de Administrador de granjas, cuenta de grupo de aplicaciones para aplicaciones web y cuenta de aplicaciones de servicio), debe asegurarse de tener acceso a la base de datos de membresía SQL (SQL-Auth).
Importante:
¿Qué sucede con FBA cuando actualizamos WSS 3.0 / MOSS 2007 a SharePoint 2010?
Antes de actualizar a SharePoint 2010, debe eliminar los cambios que ha realizado en la web.archivo de configuración. Tan pronto como finalice el proceso de actualización, se actualizarán todas las aplicaciones web; sin embargo, estos usarán la Autenticación en Modo Clásico. Puede convertir esas aplicaciones web de Autenticación en Modo Clásico a Autenticación Basada en notificaciones.
herramientas de terceros: Administrador de FBA SP2010 (Autenticación basada en formularios) Dev-IT