Нет необходимости использовать два контроллера учетных записей, ведь они будут иметь одинаковую логику.
Вы можете использовать поставщика ролей и настроить доступ к областям на основе ролей.
[Authorize(Roles = "Administrators")]
public class AdminController : Controller
{
}
Редактировать:
Чтобы использовать разные макеты, внутри _ViewStart.cshtml
вашей административной области или внутри представления, которое использует административная область AccountController
, вам необходимо указать, какой макет вы используете.Вы будете использовать:
@{
Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}
Что касается перенаправлений, проверьте маршрутизацию внутри AdminAreaRegistration.cs
, а также убедитесь, что вы перенаправляете на контроллер области:
return RedirectToAction("LogOn", "Admin", new { area = "Admin" });