ASP MVC: есть ли способ сделать доступ к некоторым представлениям / страницам только из локальной сети? - PullRequest
1 голос
/ 20 декабря 2011

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

Возможно ли это с IIS и ASP MVC3?

Ответы [ 3 ]

1 голос
/ 20 декабря 2011

Да, вы можете ограничить доступ к путям по IP-адресу с помощью web.config.

например:

<location path="/localOnly/">
  <system.webServer>
    <security>
      <ipSecurity allowUnlisted="false">
        <clear/>
        <add ipAddress="127.*.*.*"/>
        <add ipAddress="1.*.*.*"/>
        <add ipAddress="192.*.*.*"/>
      </ipSecurity>
    </security>
  </system.webServer>
</location>

Так что просто проверьте, в какой локальной подсети работает ваш сайт, и добавьте его.

Редактировать: Я полагаю, что у вас уже есть часть "even though they need to access with their user and password", управляемая только с помощью mvc по умолчанию, верно?

0 голосов
/ 20 декабря 2011

Судя по комментариям из ответа @Ron Sijm, похоже, что вы хотите сделать что-то подобное.

Назначьте роль пользователям, которым требуется дополнительный доступ (например, Admin), а затем используйте атрибут Authorize для действий, для которых требуется эта роль:

[Authorize(Roles = "Admin")]
public ViewResult SecureAction()
{
}

Однако для этого требуется поставщик ролей. Поскольку у вас уже есть управление ролями, я настоятельно рекомендую реализовать пользовательский поставщик ролей .

0 голосов
/ 20 декабря 2011

Как ваш пользователь входит в систему? Можете ли вы назначить своим пользователям роли и запретить определенным ролям доступ к определенным представлениям?

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