Asp.Net MVC 3 Безопасный вход - PullRequest
0 голосов
/ 01 марта 2012

У меня есть сайт Asp.Net MVC 3, который имеет SSL на всем сайте.У меня есть действие Login на контроллере, который принимает имя пользователя и пароль и возвращает токен, который является пользователем для вызова других действий в веб-приложении. В фоновом режиме эти действия вызывают мой REST api.

Как я могу быть уверен, что действительный пользователь будетне зайти на мой сайт, войти и после этого использовать Fiddler для извлечения токена?После этого он сможет вызывать мой REST API, используя этот токен для выполнения каких-либо вредоносных действий ...

1 Ответ

1 голос
/ 01 марта 2012

Как я могу быть уверен, что действующий пользователь не зайдет на мой сайт, войдет в систему и после этого использует Fiddler для извлечения токена?

Вы не можете.Но в этом весь смысл аутентификации пользователей и авторизации.Вы используете аутентификацию для идентификации вашего пользователя (после того как он предоставил имя пользователя и пароль) и даете ему токен (куки-файл аутентификации), который позже будет использоваться для доступа к вашему API.

Вы используете авторизацию для ограничения того, что пользователь может делать с этим токеном.Например, вы можете сказать, что только зарегистрированные пользователи, принадлежащие к группе администраторов, могут получить доступ к данному действию контроллера:

[Authorize(Roles = "Admin")]
public ActionResult SuperSecret()
{
    ...
}

Теперь, даже если пользователь вошел в систему и имеет токен аутентификации, он не будетможет получить доступ к этому действию контроллера, если он не принадлежит к группе администраторов.

...