ASP.NET身份

时间:2013-07-14 03:48:04

标签: asp.net identity membership asp.net-mvc-5 asp.net-identity

我目前正在构建一个新的ASP.NET MVC 5项目,我希望在9月左右发布。我需要选择一个会员系统,但我现在很困惑我应该采取哪个方向。目前的SimpleMembership运行良好,但显然与即将推出的ASP.NET身份不兼容。另一方面,ASP.NET身份是绝对新的,没有文档,可以随时更改。最后,似乎这里使用了基于字符串的ID,与SimpleMembership支持的基于整数的ID相比,这似乎是非常不必要的开销。我可以选择一种好的,面向未来的方式吗?

4 个答案:

答案 0 :(得分:10)

我建议不要使用SimpleMembership。您仍然可以在数据库中使用int ID,在插入数据库实体时只需要ToString()ID,即:

public class MyUser : IUser {
   [Key]
   int UserID { get; set; }

   string IUser.Id { get { return UserId.ToString(); } }
}

答案 1 :(得分:8)

在我看来,如果你使用asp.net mvc 5开始你的项目,你应该使用新的会员系统,因为它与http://owin.org/标准很好地集成。

答案 2 :(得分:1)

我要么使用最新版本的身份,要么完全建立自己的帐户系统。 ASP.NET Identity现在在ID中使用GUID(NVARCHAR(128) - 在数据库中),但是如果您愿意,仍然可以使用int。我知道人们仍然使用身份1.0而没有任何问题我相信他们当时使用int作为Id。

无论哪种方式,Id都不应该冲突,无论是int还是guid。正如上面的帖子所说,你可以只是Id.ToString();

无论你采取什么样的路线,我都不认为它会带来很大的不同。

答案 3 :(得分:0)

我相信ASP.NET是一个非常好的框架,并为应用程序提供几乎所有必需的功能。它还提供了根据您的选择选择Id列类型的可行性。我创建了基本的ASP.NET身份包装器并发布了一个nuget,因此很容易使用。您可以查看github

上的代码