首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么ASP.NET Identity 2.0 dbo.AspNetUsers Id是字符串而不是整数?

ASP.NET Identity 2.0是一个用于身份验证和授权的框架,它提供了一种灵活的方式来管理用户身份和角色。在ASP.NET Identity 2.0中,dbo.AspNetUsers表中的Id字段被定义为字符串而不是整数的原因有以下几点:

  1. 可扩展性:使用字符串作为Id字段的数据类型可以更好地支持系统的可扩展性。字符串类型的Id字段可以容纳更多的字符,这对于未来可能出现的大规模用户系统是非常重要的。
  2. 兼容性:使用字符串作为Id字段的数据类型可以更好地与其他系统进行兼容。在不同的系统中,用户的唯一标识可能采用不同的格式,如GUID、邮箱地址等。使用字符串类型的Id字段可以更好地适应这种多样性。
  3. 安全性:使用字符串作为Id字段的数据类型可以提高系统的安全性。整数类型的Id字段可能会受到枚举攻击,攻击者可以通过递增整数值来遍历系统中的用户。而字符串类型的Id字段则更难以被猜测和遍历。
  4. 灵活性:使用字符串作为Id字段的数据类型可以更好地支持不同的身份验证方式。在ASP.NET Identity 2.0中,可以使用多种方式来验证用户身份,如用户名、邮箱地址、手机号码等。使用字符串类型的Id字段可以更好地适应这种灵活性。

推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云CVM、腾讯云CDN等。详细产品介绍请参考腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从Membership 到 .NET4.5 之 ASP.NET Identity

ASP.NET 2.0时代,我们需要借助一个VS提供的一个工具来帮助我们生成所需要的表。...他所拥有的特点大多也是前面所不能满足的,至少我们看到的进步,不是么?...Identity了,别忘了先把web.config里面的连接字符串改一下,方便我们自己去查看数据库,只要设置一下数据库就可以了,创建工作就交给EF吧。...上面那个包ASP.NET Identity EF的实现,那么我们可以在这个核心包的基础上扩展出基于No SQL, Azure Storage 的 ASP.NET Identity实现。...最新的ASP.NET Identity已经不再用那样的Provider模式了,但是思想却大致相同,只不过换成了用范型来实现,用构造函数注入,这也是从MVC以来微软框架的一些特色。

1.9K60

ASP.NET_.NET

我们在《ASP.NET Core项目实战的课程》第一章里面给identity server4做了一个全面的介绍和示例的练习 。...Identity Server4提供的OIDC认证服务(服务端) ASP.NET Core的权限体系中的OIDC认证框架(客户端) 什么 OIDC 在了解OIDC之前,我们先看一个很常见的场景...这里有个问题前面的 2和3oAuth2的标准化流程,第4步却不是,但是大家都这么干(它是一个大家都默许的标准) 于是大家干脆就建立了一套标准协议并进行了一些优化,它叫OIDC OIDC 建立在oAuth2.0...在这里,这个api不是属于授权服务器提供的,而是属于资源服务器。...Identity Server4提供的OIDC认证服务 Identity Server4asp.net core2.0实现的一套oAuth2 和OIDC框架,用它我们可以很快速的搭建一套自己的认证和授权服务

1.6K30

Open ID Connect(OIDC)在 ASP.NET Core中的应用

我们在《ASP.NET Core项目实战的课程》第一章里面给identity server4做了一个全面的介绍和示例的练习 ,这篇文章根据大家对OIDC遇到的一些常见问题整理得出。...Identity Server4提供的OIDC认证服务(服务端) ASP.NET Core的权限体系中的OIDC认证框架(客户端) 什么 OIDC 在了解OIDC之前,我们先看一个很常见的场景...这里有个问题前面的 2和3oAuth2的标准化流程,第4步却不是,但是大家都这么干(它是一个大家都默许的标准) 于是大家干脆就建立了一套标准协议并进行了一些优化,它叫OIDC OIDC 建立在oAuth2.0...对jwt了解的同学知道它里面本身就可以存储用户的信息,那么id_token可以吗?答案当然可以的,我们将在介绍完identity server4的集成之后最后来实现。...Identity Server4提供的OIDC认证服务 Identity Server4asp.net core2.0实现的一套oAuth2 和OIDC框架,用它我们可以很快速的搭建一套自己的认证和授权服务

2.4K80

使用微服务架构思想,设计部署OAuth2.0授权认证框架

不是业务API问题。...有架构经验的朋友都知道,解决依赖的常见手段就是添加一个中间层,客户端依赖于这个中间层不是直接依赖于服务层。...下面我们来详细看看这个架构如何落地的。 2,“授权\认证\资源”独立服务的OAuth2.0架构 2.1,为什么需要OAuth2.0 ? OAuth 2.0已经一个“用户验证和授权”的工业级标准。...下面流程图: ? 注意:这个流程适用于资源服务器、授权服务器相分离的情况,否则,流程中的第5,6步不是必须的,甚至第4,7步都是显而易见的事情不必说明。...我假定读者使用Asp.Net,并需要搭建OAuth2.0服务器,对于涉及的Asp.Net Identity(Claims Based Authentication)、Owin、OAuth2.0等知识点已有基本了解

10.8K32

Asp.Net Core 中什么认证和授权

因此,认证指识别用户的身份,授权指决定用户能做什么。 特别说明,识别你谁的意思,你可能被识别为一个普通用户,也可能被识别为一个管理员,也可能被识别为一个游客(匿名用户)。...脱离 Asp.Net Core 认证还有另外一层意思 我们常见的 OAuth2.0 认证、OpenID Connect 认证,账号密码认证,二维码认证等等,这些认证其实是用户与系统交互产生凭据的过程。...而在 Asp.Net Core 中,认证指请求中的凭据如何被转换为一个 Principal 或者 Identity 对象。...,然后 Asp.Net Core 会将这个 token 转换为一个 Principal 或者 Identity 对象。...参考资料 ASP.NET Core Authentication and Authorization^1 Microsoft identity platform and OAuth 2.0 authorization

20120

Asp.Net Core 中什么认证和授权

因此,认证指识别用户的身份,授权指决定用户能做什么。特别说明,识别你谁的意思,你可能被识别为一个普通用户,也可能被识别为一个管理员,也可能被识别为一个游客(匿名用户)。...脱离 Asp.Net Core 认证还有另外一层意思我们常见的 OAuth2.0 认证、OpenID Connect 认证,账号密码认证,二维码认证等等,这些认证其实是用户与系统交互产生凭据的过程。...而在 Asp.Net Core 中,认证指请求中的凭据如何被转换为一个 Principal 或者 Identity 对象。...,然后 Asp.Net Core 会将这个 token 转换为一个 Principal 或者 Identity 对象。...参考资料ASP.NET Core Authentication and Authorization^1Microsoft identity platform and OAuth 2.0 authorization

1.3K30

eShopOnContainers 知多少:Identity microservice

远程认证方式当属:OAuth2.0和OpenID Connect了。借助OAuth2.0和OpenID Connect即可实现类似下图的认证体系: ?...如何实现呢,借助: ASP.NET Core Identity IdentityServer4 基于Cookie的认证和基于Token的认证的差别如下所示: ?...IdentityServer4就是为ASP.NET Core量身定制的实现了OpenId Connect和OAuth2.0协议的认证授权中间件。...认证流程简介 在ASP.NET Core中使用的基于申明(Claim)的认证,什么申明(Cliam)呢?...它本质上就是一个键值对,一种非常通用的保存用户信息的方式,可以很容易的将认证和授权分离开来,前者用来表示用户/不是什么,后者用来表示用户能/不能做什么。

2.8K20

ASP.NET Identity入门系列教程(一) 初识Identity

既然,我们不能阻止攻击,但是可以提前预防,尽量将损失减到最小,不是吗? 目前,有许多适用于ASP.NET应用的安全原则,比如深度防御、不信任任何输入数据、关闭不必要的功能等等。...ASP.NET身份验证方式 安全问题一直ASP.NET的关注点。其中,Windows验证和表单验证(Forms Authentication)就是ASP.NET两种主要的安全机制。...ASP.NET表单验证(Forms Authentication)很好的弥补了这一缺陷。使用表单验证,ASP.NET需要验证加密的HTTP cookie或者查询字符串来识别用户的所有请求。...当微软发现这一问题后,在ASP.NET 2.0引入了Membership的重磅级技术方案。...Katana 开源的的OWIN框架,主要用于微软.NET应用程序。Katana 2.0 将随 Visual Studio 2013 一起发布。

4.4K80

Identity和IdentityServer的区别及联系

关于Identity和IdentityServer初学的时候可能会有一些疑惑(虽然我也不是很精深吧),但是,这里说一下自己关于这两者的一些理解,如有错误,欢迎指正 ?...IdentityServer一个中间件,它可以添加符合OpenID Connect和OAuth2.0的终端(endpoints)到一个任意的ASP.NET Core应用....关于Identity ASP.NET Core Identity 用来在ASP.NET Core 应用中增加登录功能的。...上面关于认证的一些开源项目各有特点 下面简单说下IdentityServer IdentityServer用来帮助公司使用.net建立Identity(标识,注意这里不是上面说的ASP.NET Core...IdentityServer一个中间件,它可以添加符合OpenID Connect和OAuth2.0的终端(endpoints)到一个任意的ASP.NET Core应用.

1.3K20

ASP.NET Core 中的那些认证中间件及一些重要知识点

因为很多时候我们的认证基于OAuth的,也就是说用户的状态信息存储到Http Header 里面每次进行往来的,不是cookie等,所以在这个类里面了一个HandleRemoteAuthenticateAsync...Microsoft.AspNetCore.Authentication.Cookies Cookies 认证 ASP.NET Core Identity 默认使用的身份认证方式,那么这个中间件主要是干什么的呢...Microsoft.AspNetCore.Authentication.OAuth OAuth 针对于 OAuth 2.0 标准实现的一个客户端程序,记住客户端,它不具备发放Token或者 Client_id...一般情况下,OpenId 需要客户端进行持久化的,那么对应在 ASP.NET Core Identity 中,就是存储在 UsersLogin 表里面的 ProviderKey 字段,懂了吧,懂了给个推荐呗...幸运的ASP.NET Core 团队已经意识到了这个问题,他们将在 NET Standard 2.0 中对此重新进行设计,比如手动触发的时候应该怎么处理,有多个的时候怎么处理,以及会添加一些语法糖。

1.7K20

基于OWin的Web服务器Katana发布版本3

尽管ASP.NET从十年前就已经开始支持异步编程模型,但.NET 2.0中引入的IAsyncResult模型使用起来非常繁琐,大多数开发者甚至都不知道它的存在。..."owin.RequestPath" 一个包含请求路径的字符串。 此路径必须应用程序委托的“根”的相对路径。...定义一组基本的环境字典键/值对,使得许多不同的框架和组件作者可以在一个 OWIN 管道中进行互操作,不必强制实施对特定 .NET 对象模型的协议,例如针对 ASP.NET MVC 中的 HttpContextBase...在新的功能特性方面,新版本主要关注于“企业级认证功能以及基于声明的标识(claims-based identity)”。...参与了Katana 3项目的Vittorio Bertocci特别提到了以下三种协议: WS-Federation OpenId Connect (通过表单提交方式提供id_token以及id_token

1.3K50

ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug

Microsoft最近发布了ASP.NET Identity 2,该版本支持双重认证、帐号锁定以及防伪印章功能,还增强了用户帐号和索引。此外新版本还包含一个改进的密码验证器并修复了一些bug。...借助于双重认证,开发者能够使用定制的提供程序保护用户帐号,不是使用传统的SMS和基于email的验证。...新版本的ASP.NET Identity 2.0能够保护用户远离暴力破解的困扰,如果用户输入了错误的密码或者双重代码,那么相关的用户帐号会被锁定一段时间。...来自于Microsoft的软件工程师Pranav Rastogi 在他的博客中概括了应用程序从ASP.NET Identity 1.0迁移到2.0、从2.0 beta 1迁移到2所需要的步骤。...查看中文原文:ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug

1K80

.net中的认证(authentication)与授权(authorization)

用Membership/Role做过asp.net开发的朋友们,看到这二个接口的定义,应该会觉得很眼熟,想想我们在Asp.Net页面中如何判断用户是否登录以及角色的?...这二个接口同样也能用在Winform程序中,下面将创建一个WinForm应用,里面有二个窗口:Form1以及Form2,可以把Form1当成登录界面,Form2则程序主窗口,在很多管理软件中,主窗口都要求登录以后才能访问...是不是想起了小沈阳的那句经典台词:为~什么呢?...这就是webform与winform不同的地方,asp.net默认的表单认证方式Windows,所以程序一运行,asp.net就把windows当前的登录用户视为已经登录了,因此我们得改变asp.net...string[] Roles = _Identity.Ticket.UserData.Split(','); //将角色字符串,即login.aspx.cs中的“管理员,会员”,变成数组

1.6K100

使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序 示例过程

最近开始学习ASP.NET MVC技术,感觉跟原来的ASP.NET WebForm差异实在太大了,看了2天的理论知识,才敢动手写一个实例程序。...尽管看的网上手把手的教程,如果不自己动手实践的话还是很难正真理解什么MVC。    ...我们的VS2010中默认集成了ASP.NET MVC2.0 ,本例程序就是使用它开发的,实例程序下载请到下面的下载地址: http://files.cnblogs.com/bluedoctor/MvcApplication1...企业管理器,找一个数据库,然后执行下面的创建表的脚本语句: CREATE TABLE [Tb_News](    [ID] [int] IDENTITY(1,1)  Primary Key NOT NULL...示例过程 有关ASP.NET MVC的原理和“手把手”的示例过程,请看下面的博客,写得非常清楚:Asp.net MVC2.0系列文章http://www.cnblogs.com/ywqu/category

1K80
领券