我是否必须使用“ASP.net配置”工具来管理用户?

时间:2011-03-04 07:34:45

标签: asp.net-mvc authentication membership

我刚刚在asp.net上浏览了新的MVC音乐商店教程。最后一步之一是添加“成员资格和授权”。本教程让我启动了一个配置工具,似乎与我的网站没有任何关系。

2件事:

  1. 我使用该工具创建的用户在哪里存储?
  2. 我可以绕过该工具并实现自己的工作吗?
  3. 如果我能够执行上述2并绕过该工具,我仍然可以使用注释,例如:

    [授权(角色=“管理员”)]

  4. 工具可能含糊不清。我指的是ASP.Net Web应用程序管理工具。这是一个蓝白色的网页,顶部有一些标签(主页,安全,应用程序,提供商)。

3 个答案:

答案 0 :(得分:2)

它的工作方式与ASP.NET Membership和Roles一直有效,并且实际上使用相同的系统。关于这个问题已经有很多问题了,快速谷歌也会发现很多文章。

具体来说,asp.net工具将用户存储在aspnet_ *表中的数据库中。是的,你可以绕过它并实现自己的,虽然这通常不是必需的。 asp.net工具只是一个快速简便的工具来管理这个过程,你可能需要实现自己的工具。

是的,您仍然可以再次使用AuthorizeAttribute ..它是asp.net提供的通用会员和角色系统的所有部分(有大量信息)。

答案 1 :(得分:1)

我建议您将自己的用户配置构建为应用程序的一部分,考虑构建一个映射到您自己的数据库的自定义成员资格提供程序(和自定义角色提供程序),当您需要执行以下操作时,这将非常有用配置工具无法做到。 ASP.NET身份验证基于这些,并允许您使用所有内置授权。

答案 2 :(得分:1)

如果您的用户不仅仅包含姓名和电子邮件地址,您也不必使用它,也不想使用它。如果你完全使用它,它是添加初始角色或关键用户的起点。因为有许多provider options具有不同含义,所以您可能需要进行大量自定义编程。例如,enablePasswordRetrievalenablePasswordResetrequiresQuestionAndAnswer的设置将开始影响您需要适应的操作。

搜索与MVC配对的ASP.NET成员资格应该会引导您在项目中发挥最佳作用。我最近经历了添加和修改基本ASP.NET MVC帐户控制器操作,以便用户管理他们的帐户(包括电子邮件验证,重置忘记密码和更改安全问题/答案)以及 - 同样重要 - 创建用户带有操作的控制器,可帮助管理员对用户执行维护(分配角色,解锁帐户或重置密码)。

如果您打算存储有关用户的更多信息(例如第一个姓氏等),我建议您查看Web Profile Builder以获得对个人资料数据的强类型访问权限。令人惊讶的是,开发人员需要多少才能在这方面实施。