我应该如何在 ASP.NET MVC 站点中实现用户成员资格?
我正在创建一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当您创建一个新的 ASP.NET MVC 站点时,它已经内置了成员资格。仅在特殊情况下才需要其他回复中提到的 CodePlex 项目,即:
但是,正如我所说,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:
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
如果您想使用安全的方式开始,请使用新项目的模板成员资格或考虑使用 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.