代码之家  ›  专栏  ›  技术社区  ›  tvanfosson

ASP.NET MVC:使用现有帐户还是创建新的用户控制器?

  •  1
  • tvanfosson  · 技术社区  · 17 年前

    我正在创建一个新的ASP.NET MVC应用程序。到目前为止,我已经将帐户控制器用于与用户帐户相关的操作——登录/注销、激活(如注册,但我使用注册用于站点中的其他操作,因此我已将其重命名)、添加/更新联系信息。不过,到目前为止,我一直专注于管理用户视图。

    我正准备开始创建非管理用户将看到的各种视图。与管理界面相比,这些功能相当有限。我倾向于在用户“族”中创建一组新的视图和关联的控制器,而不是使用帐户视图/控制器。这是一个好主意还是我应该坚持与客户控制员合作?我的感觉是,因为这是针对普通用户的,所以它应该是一个单独的控制器,因为该帐户将同时适用于普通用户和管理用户。

    :在阅读了前两个回答之后,我的重构问题是:

    相关,但没有直接回答我的问题: ASP.NET MVC Account Controller usage guidelines?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Craig Stuntz    17 年前

    我不认为这里有一个正确或错误的答案,所以我会给你我的意见。

    从技术上讲,任何一种解决方案(扩展帐户控制器或创建新控制器)都可以正常工作。

    例如,如果您希望在单独的路径上执行“管理”操作,则该路径应为单独的控制器。例如,如果您使用IIS模块进行身份验证或使日志分析更容易,则可能需要执行此操作。

    综上所述,我认为这是一个你应该向你的用户代表而不是本网站上的人提出的问题。:)

    使现代化

        2
  •  0
  •   Konstantin Tarkus    17 年前

    在ASP.NET MVC中,通常根据数据类型而不是访问类型创建控件。例如:

    与2/Controllers/userscoontrol.cs和/Controllers/Admin/userscoontrols.cs不同,管理员和普通用户更容易使用一个通用控制器-/Controllers/userscoontroller.cs(通过设置不同的[Authorize]属性和视图)。

    我将保留现有的AccountController.cs以封装与帐户相关的功能。只需为rest用户相关的功能添加新的UsersController.cs(可能有OnlineUsers等方法)