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

问题描述:

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

两件事:

  1. 我在哪里创建使用该工具的用户获取存储?
  2. 我可以绕过该工具并实施我自己的事情吗?
  3. 如果我能够以上做2和绕过工具我还受允许使用注解,例如:

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

工具可以不明确。我指的是ASP.Net Web应用程序管理工具。这是一个蓝色和白色的网页,顶部有一些标签(Home,Security,Application,Provider)。

它的工作方式与ASP.NET成员资格和角色一样一直工作,而事实上使用相同的系统。关于这个问题已经有数吨和数吨的问题了,而谷歌也会发现很多文章。

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

是的,你仍然可以使用AuthorizeAttribute ..再次,它是由asp.net提供的通用成员和角色系统的所有组成部分(其中有万吨的相关信息)。

+0

不幸的是我不知道ASP.NET Membership和Roles总是如何工作。这对我来说都很新,所以我不知道我在找什么。尽管我可能会误解,但稍微与第2段混淆。在一句话中,你说它通常不需要实现我自己的,但在接下来你说我可能必须实现我自己的。所以?? – Pete 2011-03-04 07:50:27

+0

我建议不要直接访问或执行aspnet数据库对象。您应该能够满足成员资格提供商所需的一切。有时候它并不是最简单的代码,但如果你开始搞乱桌子,你可能会希望你没有走上这条路。 – JustinStolle 2011-03-04 08:09:23

+0

对不起,我不清楚。您不必实施自己的提供商。但是你将不得不实现你自己的用户管理器。 – 2011-03-05 13:48:21

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

你不必使用它,也不是你想,如果你的用户已经不仅仅是一个姓名和电子邮件地址等等。如果您完全使用它,这是添加您的初始角色或关键用户的起点。因为有许多provider options有不同的含义,你可能需要做很多自定义编程。例如,您对enablePasswordRetrievalenablePasswordResetrequiresQuestionAndAnswer的设置将开始形成您需要适应的操作。

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

我会建议看Web Profile Builder如果要存储有关用户(如第一姓等)的更多信息,以获得强类型的访问配置文件数据。有点令人惊讶的是,开发人员在这个特定方面实施了多少。