{"id":1956,"date":"2015-12-16T19:28:46","date_gmt":"2015-12-16T19:28:46","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1956"},"modified":"2025-10-09T07:26:48","modified_gmt":"2025-10-09T14:26:48","slug":"the-couchbase-asp-net-identity-storage-provider-part-1","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/the-couchbase-asp-net-identity-storage-provider-part-1\/","title":{"rendered":"El proveedor de almacenamiento de identidad ASP.NET de Couchbase: Parte 1"},"content":{"rendered":"<p>En <a href=\"https:\/\/www.asp.net\/identity\/overview\/getting-started\" target=\"_blank\" rel=\"noopener\">Sistema de identidad ASP.NET <\/a>es una nueva colecci\u00f3n de componentes de software para la autenticaci\u00f3n en aplicaciones ASP.NET. Proporciona mejoras significativas sobre los anteriores ASP.NET Membership y Simple Membership y pretende facilitar el soporte de almacenes de respaldo no relacionales, como Couchbase Server. Adem\u00e1s de la autenticaci\u00f3n y la autorizaci\u00f3n, proporciona un almac\u00e9n de perfiles, autorizaci\u00f3n basada en funciones y reclamaciones, compatibilidad con inicios de sesi\u00f3n sociales como Facebook y Twitter y compatibilidad con OWIN... ya no depende del espacio de nombres System.Web.<\/p>\n<p>Couchbase ASP.NET Identity Provider pretende ser un proveedor \"completo\" que soporte casi todas, si no todas, las caracter\u00edsticas de ASP.NET Identity API. En esta Developer Preview (DP) s\u00f3lo se ha probado la parte de autenticaci\u00f3n; en versiones posteriores se a\u00f1adir\u00e1 la autorizaci\u00f3n basada en roles y reclamaciones, as\u00ed como la integraci\u00f3n con proveedores de medios sociales de terceros a trav\u00e9s de Single Sign-On (SSO), adem\u00e1s de caracter\u00edsticas como la autenticaci\u00f3n de dos factores por SMS y correo electr\u00f3nico. En este post<\/p>\n<p>le mostraremos c\u00f3mo integrar el Proveedor de Identidad ASP.NET DP de Couchbase con una Aplicaci\u00f3n Web ASP.NET MVC.<\/p>\n<h2>Primeros pasos<\/h2>\n<p>El paquete est\u00e1 disponible en NuGet o puedes construirlo t\u00fa mismo desde el repositorio en Github que se encuentra aqu\u00ed. Para este blog vamos a utilizar los paquetes publicados a trav\u00e9s de NuGet.<\/p>\n<p>Usando Visual Studio 2013 (o quiz\u00e1s 2015), crea una nueva Aplicaci\u00f3n Web MVC como sigue:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step1.jpg\" \/><\/p>\n<p>Puedes ponerle el nombre que quieras; yo lo llam\u00e9 CouchbaseIdentity. Haz clic en \"Aceptar\" y selecciona MVC en el siguiente cuadro de di\u00e1logo.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step2.jpg\" \/><\/p>\n<p>Haga clic en \"Aceptar\" de nuevo y Visual Studio crear\u00e1 el proyecto MVC para usted. Por defecto, Visual Studio utilizar\u00e1 el proveedor de identidad de Entity Framework. Como queremos utilizar el proveedor de identidad de Couchbase, tenemos que eliminar la dependencia del paquete del proveedor de Entity Framework, a\u00f1adir la referencia al paquete Couchbase Identity y luego reemplazar todas las referencias a using Microsoft.AspNet.Identity.EntityFramework; con Couchbase.AspNet.Identity.<\/p>\n<p>Para cambiar la dependencia del paquete, abra el Gestor de paquetes NuGet y localice el paquete Microsoft ASP.NET Identity EntityFramework y desinst\u00e1lelo:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step3.jpg\" \/><\/p>\n<p>En este punto tendr\u00e1s que reiniciar Visual Studio. A continuaci\u00f3n, ve a la pesta\u00f1a \"Online\", cambia el men\u00fa desplegable a \"Include Prerelease\" y escribe \"couchbase\" en el cuadro de texto de b\u00fasqueda:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step4.jpg\" \/><\/p>\n<p>Seleccione Couchbase ASP.NET Identity y haga clic en \"Instalar\" y \"Cerrar\" para cerrar el cuadro de di\u00e1logo.<\/p>\n<h2>Actualizaci\u00f3n de las dependencias de los paquetes<\/h2>\n<p>Ahora que has cambiado los paquetes por defecto del Proveedor de Identidad de Entity Framework y lo has reemplazado por las dependencias y el paquete de Identidad ASP.NET de Couchbase, necesitas actualizar el proyecto para usar el nuevo proveedor.<\/p>\n<p>En primer lugar, sustituya todas las referencias a<strong><em> using Microsoft.AspNet.Identity.EntityFramework; <\/em><\/strong>con<em><strong> usando Couchbase.AspNet.Identity<\/strong><\/em>;. La forma m\u00e1s f\u00e1cil de hacerlo es una simple b\u00fasqueda y reemplazo (Ctrl F).<\/p>\n<p>A continuaci\u00f3n, en IdentityModels.cs, cambia la clase ApplicationDbContext para que derive de ThrowableBucket en lugar de IdentityDbContext y, a continuaci\u00f3n, anula el constructor base para que se pase el Bucket que elegiste para almacenar la informaci\u00f3n de identidad. Yo eleg\u00ed almacenar mi informaci\u00f3n de Identidad en el bucket \"por defecto\"; puedes crear un bucket separado si lo deseas:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step6.jpg\" \/><\/p>\n<p>Ten en cuenta que \"ThrowableBucket\" es una envoltura alrededor de algunos m\u00e9todos CRUD de CouchbaseBucket que cambia ligeramente el comportamiento del SDK; los fallos de operaci\u00f3n son lanzados. En futuras versiones, esto puede cambiar.<\/p>\n<p>Por \u00faltimo, abra el archivo Global.asax y a\u00f1ada el c\u00f3digo para inicializar el SDK de Couchbase, que utiliza el proveedor de identidad ASP.NET de Couchbase:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step5.jpg\" \/><\/p>\n<p>El ClusterHelper es una clase de ayuda para el SDK .NET de Couchbase que facilita la gesti\u00f3n de buckets y referencias. Se recomienda inicializar el ClusterHelper en Application_Start y cerrarlo en Application_End. Una vez completado este paso, \u00a1la aplicaci\u00f3n web est\u00e1 lista para usar Couchbase como almac\u00e9n de respaldo para identidades y perfiles!<\/p>\n<h2>\u00a1Prob\u00e1ndolo!<\/h2>\n<p>Una vez completados los pasos anteriores, puede probar la integraci\u00f3n ejecutando la aplicaci\u00f3n (bot\u00f3n derecho&gt;debug=&gt;Start new instance) y navegando hasta la p\u00e1gina de registro:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step9.jpg\" \/><\/p>\n<p>Introduzca su direcci\u00f3n de correo electr\u00f3nico y su contrase\u00f1a, conf\u00edrmela y haga clic en \"Registrarse\".<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step10.jpg\" \/><\/p>\n<p>Suponiendo que todo ha ido bien, deber\u00eda ser redirigido de nuevo a la p\u00e1gina de inicio y deber\u00eda ver un mensaje \"Hola ....\". Ya est\u00e1s autenticado.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step11.jpg\" \/><\/p>\n<h2>C\u00f3mo se modela el perfil en Couchbase<\/h2>\n<p>El proveedor de identidad por defecto se basa en una serie de tablas relacionales con claves externas que enlazan los datos. El proveedor ASP.NET de Couchbase adopta el enfoque NoSQL y almacena los datos como documentos JSON y utiliza \"\u00edndices manuales\" para los \u00edndices secundarios en los casos en que la clave para obtener los datos no es un \u00edndice primario.<\/p>\n<p>El documento primario tiene la siguiente estructura:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step7.jpg\" \/><\/p>\n<p>Se trata de un documento bastante sencillo; en casi todos los casos utilizamos la \"incrustaci\u00f3n\" para almacenar relaciones como Roles y Reclamaciones (las repasaremos en una entrada posterior del blog). Para realizar una b\u00fasqueda en un campo de este documento, creamos un segundo documento binario que asocia la direcci\u00f3n de correo electr\u00f3nico del perfil con la clave primaria (914dc..); esto es similar a un concepto de modelado llamado \"referencia\".<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2015\/july\/the-couchbase-asp.net-identity-storage-provider-part-1\/couchbase-example-step8.jpg\" \/><\/p>\n<p>Podr\u00edamos haber utilizado consultas N1QL que har\u00edan obsoletos los \u00edndices secundarios \"manuales\", pero la intenci\u00f3n es soportar Couchbase Server 3.0 y superiores; N1QL ser\u00e1 una caracter\u00edstica de Couchbase Server 4.0 que se lanzar\u00e1 a finales de este a\u00f1o.<\/p>\n<h2>C\u00f3mo conseguirlo:<\/h2>\n<p>Couchbase ASP.NET Identity Provider est\u00e1 disponible como paquete en NuGet o puede ser construido directamente desde el c\u00f3digo fuente usando el repositorio de Github. Si deseas contribuir, los pull requests son siempre bienvenidos. Si encuentras un bug, puedes crear un ticket en Jira y ser\u00e1s notificado de su estado actual.<\/p>\n<ul>\n<li>Github: <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-aspnet-identity\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/couchbaselabs\/couchbase-aspnet-identity<\/a><\/li>\n<li>NuGet: <a href=\"https:\/\/www.nuget.org\/packages\/CouchbaseIdentity\/1.0.0-dp\" target=\"_blank\" rel=\"noopener\">https:\/\/www.nuget.org\/packages\/CouchbaseIdentity\/1.0.0-dp<\/a><\/li>\n<li>Jira: <a href=\"https:\/\/issues.couchbase.com\/browse\/CBASP\" target=\"_blank\" rel=\"noopener\">https:\/\/issues.couchbase.com\/browse\/CBASP<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>The ASP.NET Identity System is a new collection of software components for supporting authourization and authentication within ASP.NET applications. It provides significant improvements over the previous ASP.NET Membership and Simple Membership and aims to make it easier support non-relational backing [&hellip;]<\/p>","protected":false},"author":21,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1814,10126,1815,2201],"tags":[1452,1455,1456],"ppma_author":[8970],"class_list":["post-1956","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-application-design","category-asp-dotnet","category-best-practices-and-tutorials","category-tools-sdks","tag-asp","tag-authentication","tag-authorization"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Couchbase ASP.NET Identity Storage Provider: Part 1<\/title>\n<meta name=\"description\" content=\"This post focuses on how to integrate the Couchbase ASP.NET Identity Storage Provider DP with an ASP.NET MVC Web Application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/the-couchbase-asp-net-identity-storage-provider-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Couchbase ASP.NET Identity Storage Provider: Part 1\" \/>\n<meta property=\"og:description\" content=\"This post focuses on how to integrate the Couchbase ASP.NET Identity Storage Provider DP with an ASP.NET MVC Web Application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/the-couchbase-asp-net-identity-storage-provider-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-16T19:28:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:26:48+00:00\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"The Couchbase ASP.NET Identity Storage Provider: Part 1\",\"datePublished\":\"2015-12-16T19:28:46+00:00\",\"dateModified\":\"2025-10-09T14:26:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/\"},\"wordCount\":958,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"asp\",\"authentication\",\"authorization\"],\"articleSection\":[\".NET\",\"Application Design\",\"ASP.NET\",\"Best Practices and Tutorials\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/\",\"name\":\"The Couchbase ASP.NET Identity Storage Provider: Part 1\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-12-16T19:28:46+00:00\",\"dateModified\":\"2025-10-09T14:26:48+00:00\",\"description\":\"This post focuses on how to integrate the Couchbase ASP.NET Identity Storage Provider DP with an ASP.NET MVC Web Application.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Couchbase ASP.NET Identity Storage Provider: Part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"El proveedor de almacenamiento de identidad ASP.NET de Couchbase: Parte 1","description":"Este post se centra en c\u00f3mo integrar Couchbase ASP.NET Identity Storage Provider DP con una aplicaci\u00f3n web ASP.NET MVC.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/the-couchbase-asp-net-identity-storage-provider-part-1\/","og_locale":"es_MX","og_type":"article","og_title":"The Couchbase ASP.NET Identity Storage Provider: Part 1","og_description":"This post focuses on how to integrate the Couchbase ASP.NET Identity Storage Provider DP with an ASP.NET MVC Web Application.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/the-couchbase-asp-net-identity-storage-provider-part-1\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-12-16T19:28:46+00:00","article_modified_time":"2025-10-09T14:26:48+00:00","author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"The Couchbase ASP.NET Identity Storage Provider: Part 1","datePublished":"2015-12-16T19:28:46+00:00","dateModified":"2025-10-09T14:26:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/"},"wordCount":958,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["asp","authentication","authorization"],"articleSection":[".NET","Application Design","ASP.NET","Best Practices and Tutorials","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/","url":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/","name":"El proveedor de almacenamiento de identidad ASP.NET de Couchbase: Parte 1","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-12-16T19:28:46+00:00","dateModified":"2025-10-09T14:26:48+00:00","description":"Este post se centra en c\u00f3mo integrar Couchbase ASP.NET Identity Storage Provider DP con una aplicaci\u00f3n web ASP.NET MVC.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-asp-net-identity-storage-provider-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Couchbase ASP.NET Identity Storage Provider: Part 1"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, Ingeniero Superior de Software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","author_category":"","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","first_name":"Jeff","job_title":"","user_url":"","description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=1956"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/1956\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=1956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=1956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=1956"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=1956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}