处理 100 万个用户帐户的 Web 服务

发布于 2024-08-16 23:05:24 字数 593 浏览 10 评论 0原文

想象一下,您正在编写一个将拥有 100 万用户的 Web 应用程序(他们都会增长到那么大,对吧!)

您将如何处理用户帐户?我可以想象一些场景:

  1. 滚动您自己的(数据库表、存储在用户配置文件表中的加盐/散列密码)
  2. 如果使用 ASP.NET 编写,请使用登录/角色提供程序(回退到数据库)
  3. 如果满足以下条件,请使用 Active Directory在 Windows 环境中
  4. 使用其他 LDAP 服务器
  5. OpenID 或 .NET Passport 等第三方提供商

稳定性和可扩展性当然很重要。

我想这实际上是一个关于 Active Directory 和其他 LDAP 服务器是否能够良好且轻松地扩展的问题。 Facebook、Twitter 和 Gmail 使用什么作为其后端帐户提供商?

让我想到这个的是 Google App Engine。看起来真的很酷。但如果我使用内置的身份验证功能,用户将需要获得一个 Google 帐户。或者对于上面的#5,用户需要获取一个 OpenID。我正在努力做到这一点,这样他们就可以在我的网站上进行简单的注册,而无需访问其他网站——对于世界上的非极客来说:)

Imagine you're writing a web app that will have 1 million users (they all grow that big, right!)

How would you handle user accounts? I can imagine a few scenarios:

  1. Roll your own (database tables, salted/hashed passwords stored in a user profile table)
  2. If written with ASP.NET, use the login/role provider (which falls back to the database)
  3. Use Active Directory if in a Windows environment
  4. Use some other LDAP server
  5. A 3rd party provider like OpenID or .NET Passport

Stability and scalability are of course important.

I guess this is really a question of whether Active Directory and other LDAP servers scale well and easily. What do Facebook, Twitter and Gmail use as their backend account provider?

What got me thinking about this is the Google App Engine. Really cool looking. But users would need to get a Google Account if I used the built-in authentication stuff. Or with #5 above, users would need to go get an OpenID. I'm trying to make it so they can just do a simple sign up with my site without needing to visit other sites -- for the non-geeks of the world :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烂柯人 2024-08-23 23:05:24

我会问那些真正开发过可以满足这么多用户需求的系统的人。

我会了解其他类似的系统,并查看有关它们的案例研究。 (询问微软、甲骨文、IBM 等)。

但是,为了可用性,您需要实现单点登录解决方案,这样用户就不需要知道他们的登录详细信息。 (非常适合企业界。)

您必须使用用户知道的信息,即电子邮件地址/用户名和密码。

OpenID 或类似系统对于非技术用户来说是可怕的。
(请注意,任何看到此内容的人都是技术用户。)。

I would ask someone who had actually worked on a system which caters for that many users.

I'd find out about other systems like this, and look at case studies that have been written about them. (Ask Microsoft, Oracle, IBM etc.).

But, for usability you either need to implement a single sign on solution, so users don't need to know their login details. (Perfect for the corporate world.)
or
You have to go with what users know, which is an email address/username, and password.

OpenID or similiar systems are horrible for non technical users.
(Note, anyone looking at this is a technical user.).

长发绾君心 2024-08-23 23:05:24

OpenID。
如果您必须让用户选择在您的网站上创建帐户,请成为 OP。

OpenID.
If you must give the users a choice to create an account on your site, become an OP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文