gpt4 book ai didi

asp.net-mvc - 如何为两个区域使用一个默认成员(member)提供程序?

转载 作者:行者123 更新时间:2023-12-04 06:09:18 24 4
gpt4 key购买 nike

我正在 MVC 3 中建立一个网上商店。它使用默认的成员(member)提供程序进行结帐,因此用户应该先注册/登录,然后才能进行购买。这工作正常。现在我正在构建一个管理区域来管理表单上使用的所有产品、类别和所有下拉值。为此,管理员需要登录。我最好使用相同的成员(member)资格提供商。什么是最佳实践?我试图在管理区域中放置一个单独的 AccountController 和 View ,但是当我浏览到 .../admin 时,它会将我路由到网上商店的登录页面而不是管理区域。是否可以在项目的根目录中仅使用 1 个 AccountController,然后评估 RouteData 并从管理区域 View 返回正确的登录 View ?或者这是“未完成”。

我想以最好和最干净的方式做到这一点。

谢谢

最佳答案

没有必要使用两个帐户 Controller ,毕竟它们具有相同的逻辑。

您可以使用角色提供程序并根据角色设置对区域的访问。

[Authorize(Roles = "Administrators")]
public class AdminController : Controller
{
}

编辑:

为了使用不同的布局,里面有一个 _ViewStart.cshtml您的管理区域或该管理区域的 View 内 AccountController正在使用,您需要设置您将使用的布局:
@{
Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}

至于重定向,请检查您在 AdminAreaRegistration.cs 中的路由并确保您重定向到区域 Controller :
return RedirectToAction("LogOn", "Admin", new { area = "Admin" });

关于asp.net-mvc - 如何为两个区域使用一个默认成员(member)提供程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com