我应该如何在 ASP.NET MVC 站点中实现用户成员资格?

发布于 2024-07-12 09:35:35 字数 204 浏览 9 评论 0原文

我正在创建一个 ASP.NET MVC 站点,我需要实现登录和成员资格功能。

这是我自己推出的东西吗? 我的数据库中已经有一个成员表,我应该创建一个用户名和密码哈希字段并对其进行检查吗? 使用过期的 cookie 保持用户登录怎么样?

这是您使用 ASP.NET 内置会员服务的实例吗?

ASP.NET MVC 新手寻求帮助。

I'm creating an ASP.NET MVC site and I need to implement login and membership functionality.

Is this something where I roll my own? I already have a members table in my database, should I create a username and password hash field and just check against it? What about keeping the user logged in with a cookie that expires?

Is this an instance when you would use ASP.NET's built in Membership service?

ASP.NET MVC neophyte seeks help.

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

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

发布评论

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

评论(2

书信已泛黄 2024-07-19 09:35:35

当您创建一个新的 ASP.NET MVC 站点时,它已经内置了成员资格。仅在特殊情况下才需要其他回复中提到的 CodePlex 项目,即:

  • 您正在使用 MVC 框架的早期测试版,该框架不支持具有会员功能。
  • 您想要使用像 OpenID 这样的身份验证系统,MVC 不支持“开箱即用”。
  • 您希望不包含“开箱即用”的会员管理功能。

但是,正如我所说,MVC 站点中已经存在基本的会员功能。 只需将 [Authorize] 属性添加到任何需要登录的操作即可。 这是常规表单身份验证,因此您可以像非 MVC 站点一样在 Web.config 中进行配置(指定数据库等;网上有很多关于此的信息)。

默认的 MVC 站点将包含一个“帐户”控制器和视图,您可以自定义它们以满足您的需求。

要回答这个显而易见的问题,不,你不应该“自己动手”。 即使您需要自定义身份验证,创建常规 ASP.NET 成员资格提供程序也比创建全新的成员资格框架更好。

更新CodePlex 项目已更新,可与 MVC 1.0 配合使用

When you create a new ASP.NET MVC site, it already has membership built in. The CodePlex project mentioned in the other reply is only needed in special cases, namely:

  • You are using an early beta of the MVC framework, which doesn't have the membership feature.
  • You want to use an authentication system like OpenID, which isn't supported "out-of-the-box" with MVC.
  • You want membership administration features not included "out-of-the-box"

However, like I said, basic membership functionality is already present in an MVC site. Just add the [Authorize] attribute to any action requiring login. This is regular forms authentication, so you configured in Web.config like a non-MVC site (specifying the database, etc.; there's lots of information on the web about this).

A default MVC site will contain an "Account" controller and views which you can customize to fit your needs.

To answer the obvious question, no, you should not "roll your own." Even if you need custom authentication, it would be better to create a regular ASP.NET membership provider than to create an entirely new membership framework.

Update: The CodePlex project was updated to work with MVC 1.0

故笙诉离歌 2024-07-19 09:35:35

如果您想使用安全的方式开始,请使用新项目的模板成员资格或考虑使用 http:// www.codeplex.com/MvcMembership

If you want to use something safe to start off with, either use the new project's template membership or consider using http://www.codeplex.com/MvcMembership.

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