Смешивание веб-форм ASP.NET и MVC ASP.NET - PullRequest
1 голос
/ 13 мая 2009

У меня проблемы с аутентификацией форм. Корневой web.config настроен так, чтобы запретить доступ всем пользователям, не прошедшим проверку подлинности, со структурой, подобной:

Контроллеры
Папка - Веб-формы
Папка1 - Веб-формы
Модель
Общая папка - Webforms с web.config, чтобы разрешить публичный доступ
Просмотры
web.config с deny

Мне также нужно, чтобы домашний контроллер был общедоступным, но если я оставлю атрибут authorize вне корневого web-файла, conconig все равно заблокирует доступ к папке представлений. Я хочу избегать делать что-то вроде ниже, я могу избежать этого.

Контроллеры
WebForms
-Folder
-Folder2
-web.config с запретом неавторизованных пользователей
Просмотры
web.config с публичным доступом

У кого-нибудь есть мысли, как заставить работать первую структуру каталогов?

1 Ответ

0 голосов
/ 13 мая 2009

У меня не получается увидеть, как на самом деле выглядят разделы конфигурации. Можете ли вы отредактировать сообщение и поместить эти разделы в блок «Пример кода» (кнопка с двоичным кодом на панели инструментов текстового редактора).

Является ли целью заблокировать все, что является веб-формами, и сделать общедоступными биты, управляемые MVC?

(Я бы просто добавил это в комментарии, но у меня пока нет точек повторения, чтобы оставлять комментарии.)

[Изменить] Ради предложения чего-то полезного, но, признавая, я все еще не знаю конечной цели, для каких битов вы хотите заблокировать, на стороне MVC, возможно ли для вас использовать атрибуты безопасности в ваших контроллерах? Например, вместо того, чтобы пытаться заблокировать действия (или целые контроллеры) в файле web.config, вы можете добавить [Authorize (Roles = "YourRoles")] к определенным действиям или к верхней части контроллера. Плюсы и минусы этого подхода, но мне он нравится, так как мне не нужно много возиться с файлом конфигурации, что мне просто не нравится. Это, конечно, при условии, что вы используете стандартный поставщик членства ASP.NET, но даже если вы выполнили свою собственную задачу, вы сможете выполнить задачу аналогичным образом с некоторыми дополнительными усилиями. Просто мысль ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...