Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC谷歌认证_Asp.net Mvc_Authentication_Asp.net Mvc 5_Asp.net Identity - Fatal编程技术网

Asp.net mvc ASP.NET MVC谷歌认证

Asp.net mvc ASP.NET MVC谷歌认证,asp.net-mvc,authentication,asp.net-mvc-5,asp.net-identity,Asp.net Mvc,Authentication,Asp.net Mvc 5,Asp.net Identity,我在VS2013中使用MVC模板,允许通过Google进行身份验证。当我单击Google链接时,它会转到Google请求权限,我给了它权限,然后它会返回到.NET示例页面,要求我创建一个用户名以及存储在AspNetUsers表中的所有内容 我以前从未做过身份验证,所以我的问题是这个表中的数据是什么,以及如何使用它?该表包括: Id (GUID) UserName PasswordHash (NULL) SecurityStamp (GUID) Discriminator Id、Passwor

我在VS2013中使用MVC模板,允许通过Google进行身份验证。当我单击Google链接时,它会转到Google请求权限,我给了它权限,然后它会返回到.NET示例页面,要求我创建一个用户名以及存储在AspNetUsers表中的所有内容

我以前从未做过身份验证,所以我的问题是这个表中的数据是什么,以及如何使用它?该表包括:

Id (GUID)
UserName
PasswordHash (NULL)
SecurityStamp (GUID)
Discriminator
  • Id、PasswordHash和SecurityStamp字段是什么?它们中的数据意味着什么
  • 为什么示例中的用户有一个用户名?谷歌认证不足以识别一个人吗
  • 当我返回并再次单击google身份验证时,它不会返回到google站点请求权限。为什么不呢
  • 这个示例、数据库布局和所有内容背后的想法是否可以安全地用于生产现场

Id、PasswordHash和SecurityStamp字段是什么?它们中的数据意味着什么

  • Id是唯一的标识符
  • PasswordHash是以原始密码无法(轻松)解密的方式存储的用户密码,因此为“哈希”
  • 我相信,在生成密码散列时,散列算法会使用SecurityStamp,这增加了从散列中找出原始密码的难度
为什么示例让用户[c]创建用户名?谷歌认证不足以识别一个人吗

  • ASP.NET identity将您使用的google ID与“本地”用户帐户相关联。该本地用户帐户可以与多个提供商(如Facebook、Google等)关联,或者具有本地密码。ASP.NET Identity正在处理许多场景,始终需要用户名是合理的。当我不想强制用户提供用户名时,我所做的是生成一个不带破折号“-”的Guid,并将其放在用户名文件中

  • <>谷歌足够验证那个人有谷歌账号,但是考虑一下这个事实和你的系统有什么关系吗?您的系统仍然必须跟踪其用户
当我返回并再次单击google身份验证时,它不会返回到google站点请求权限。为什么不呢

  • 在这一点上,谷歌已经告诉你的应用程序,此人拥有某某谷歌帐户。因此,与谷歌脱钩是一种选择。我不确定一个用户帐户是否可以与多个Google帐户关联。在这方面我还不清楚
这个示例、数据库布局和所有内容背后的想法是否可以安全地用于生产现场

  • 微软提供的开箱即用的产品绝对是安全的,而且比99%的人在家烘焙的产品要好

“谷歌足以验证那个人有一个谷歌帐户,但是考虑到这个事实是如何与你的系统相关的?你的系统仍然需要跟踪它的用户。”-谷歌没有给我提供ID字段(GUID)吗?用户通过谷歌验证的值不是一样吗?这还不够吗?而且PasswordHash值总是空的。用户没有提供任何密码(因为他们是通过谷歌登录的),或者这只是为了防止他们没有使用任何第三方登录?谷歌不提供用户ID。IUserIdentity.ID字符串是在您的代码中生成的,例如,当您使用UserManager创建新用户时。谷歌提供的是一个“肯定的”条件,即你可以访问谷歌用户帐户。是的,在用户创建密码之前,PasswordHash将保持为空。如果他们注册了“本地”帐户,则需要创建密码。如果他们通过谷歌注册,他们可以选择稍后从帐户/管理页面添加密码外部登录确认操作中的code>。如果
info
为空,则登录提供商(在我们的对话中为谷歌)没有提供用户拥有帐户的肯定信息。