【问题标题】:Do I have to use "ASP.net Configuration" tool to manage users?我必须使用“ASP.net 配置”工具来管理用户吗?
【发布时间】:2011-03-04 07:34:44
【问题描述】:

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

两件事:

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

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

工具可能不明确。我指的是 ASP.Net Web 应用程序管理工具。这是一个蓝白相间的网页,顶部有一些选项卡(主页、安全、应用程序、提供商)。

【问题讨论】:

    标签: asp.net-mvc authentication membership


    【解决方案1】:

    它的工作方式与 ASP.NET 成员资格和角色一直以来的工作方式相同,并且实际上使用相同的系统。这里已经有很多关于这个主题的问题,并且快速谷歌也会找到大量文章。

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

    是的,您仍然可以使用 AuthorizeAttribute.. 同样,它是 asp.net 提供的通用成员资格和角色系统的一部分(有大量信息)。

    【讨论】:

    • 不幸的是,我不知道 ASP.NET 成员资格和角色一直是如何工作的。这对我来说都是全新的,所以我什至不知道我在寻找什么。与您的第二段略有混淆,尽管我可能会误解。在一句话中,您说通常不需要实现我自己的,但在下一句中,您说我可能必须实现自己的。所以??
    • 我建议不要直接访问或执行 aspnet 数据库对象。您应该能够通过会员资格提供者获得所需的一切。有时它不是让它工作的最直接的代码,但如果你开始弄乱表格,你可能会希望你没有走那条路。
    • 对不起,我不清楚。您不必实现自己的提供程序。但是您必须实现自己的用户管理器。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      搜索与 MVC 配对的 ASP.NET Membership 应该会引导您找到最适合您的项目的方法。我最近完成了为用户添加和修改基本 ASP.NET MVC 帐户控制器操作来管理他们的帐户(包括电子邮件验证、重置忘记的密码和更改安全问题/答案)和 - 同样重要 - 创建用户具有可帮助管理员对用户执行维护(分配角色、解锁帐户或重置密码)的操作的控制器。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多