Защита представления MVC, так что только сервер может получить к нему доступ - PullRequest
1 голос
/ 16 марта 2009

Я создаю приложение .Net MVC, в котором я использую одно конкретное представление для создания внутреннего отчета. Я не хочу, чтобы пользователи сайта вообще получали доступ к этой странице.

У меня есть консольное приложение, которое запускается так часто, что будет соскребать некоторые детали с этой страницы, нажимая на ее URL.

Мне не нравится идея, что URL там висит, но я не уверен в другом способе сделать это.

Мысли о том, что может быть лучшим способом решения этой проблемы?

Редактировать:

Вот что я в итоге сделал, создал новый проект службы WCF в решении. Я также скопировал в основном то, что было страница просмотра MVC, на новую стандартную страницу веб-форм в этом проекте. Помимо обеспечения безопасности с помощью обычных методов аутентификации .net (например, установка только допустимых оконных пользователей, которые могут получить доступ к странице), я также могу заблокировать vhost для доступа только с определенных IP-адресов.

Ответы [ 2 ]

2 голосов
/ 16 марта 2009

Рекомендуется использовать для этого службу wcf и установить модель безопасности, отличную от веб-сайта.

Если вы должны использовать MVC, лучше всего использовать аутентификацию на основе форм с помощью mvc и установить

[Authorize(Roles = "SecureUser")] 

На виду.

0 голосов
/ 16 марта 2009

Если представление вообще не нужно отображать, кроме как для предоставления данных для консольного приложения, то почему бы не сделать так, чтобы консольное приложение просто подключалось к вашей базе данных, чтобы получать данные напрямую, а не через веб-приложение? Вы все еще можете сделать это для консольного приложения, даже если представление действительно должно быть доступно для некоторых пользователей, а затем управлять доступом к представлению с помощью атрибута Authorization, который может быть соответствующим образом ограничен теперь, когда внешнему приложению не требуется доступ к нему. 1001 *

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