Аутентификация ASP.NET для однопользовательского сайта - PullRequest
0 голосов
/ 19 октября 2011

Я создал сайт-галерею.Я использую ajax-запросы от клиентской стороны к веб-сервисам сервера, например:

var executeService = function(params, url, callbackSuccess, callbackError, isCache) {
    $.ajax({
            type: "POST",
            url: url,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: params,
            success: callbackSuccess,
            error: callbackError,
            cache: isCache
        });
};

и это:

[WebMethod]
public string GetImagesByCategory()
{
    var imageList = new List<JSONGallery>();
    //...
    return imageList.ToJSON();
}

Я хочу разработать административную страницу.На этой странице я хочу управлять контентом сайта.Только один пользователь будет иметь доступ к этой странице и к методам административного веб-сервиса (добавление, удаление и т. Д.).Какой тип проверки подлинности будет для меня предпочтительным?

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Вы можете использовать только аутентификацию по форме для обоих, если вы ограничиваете доступ только для аутентифицированных пользователей (и сервисы, очевидно, находятся на одном сайте). Вы можете установить это в web.config с помощью:

<authentication mode="Forms">
  <forms loginUrl="~/login.aspx" protection="All" timeout="2880" />
</authentication>
<authorization>
  <deny users="?" />
</authorization>

Таким образом, только пользователи, которые вошли в систему, будут иметь разрешение на запуск службы.

Если у вас есть другие страницы / каталоги, которые вы хотите сделать доступными, вы можете добавить правило авторизации, чтобы разрешить открытый доступ к этим элементам, таким как файлы CSS или изображения.

<location path="assets">
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</location>
0 голосов
/ 19 октября 2011

Вы можете использовать аутентификацию формы для веб-страниц администратора и Базовую аутентификацию для веб-сервисов, вы можете включить базовую аутентификацию на веб-сервисах с помощью IIS.

...