Что лучший способ состоит в том, чтобы разработать пользовательский вход в систему/систему аутентификации в ASP.NET

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

Вспомогательная функция

Handlebars.registerHelper('switch', function(value, options) {
  this.switch_value = value;
  return options.fn(this);
});

Handlebars.registerHelper('case', function(value, options) {
  if (value == this.switch_value) {
    return options.fn(this);
  }
});

Переключатель

{{#switch this}} 
   {{#case 0}}
      
  • {{/case}} {{#case 1}}
  • {{/case}} {{#case 2}}
  • {{/case}} {{/switch}}

    5
    задан Jonathan 24 February 2009 в 04:05
    поделиться

    4 ответа

    регистрируйте этот предыдущий вопрос ТАК:

    Как я должен реализовать пользовательское членство в своем сайте MVC ASP.NET?

    Проверьте этот блог на ASP.NET Основы Членства MVC.

    4
    ответ дан 14 December 2019 в 13:48
    поделиться

    Я рекомендовал бы сильно против прокрутки Вашей собственной системы аутентификации. автор .net Forms так легок также использование; почему Вы напрасно тратили бы время, создавая его сами? Существуют много много ловушек к системам аутентификации и если Вы не MS, у Вас действительно нет ресурсов, чтобы создать и протестировать тот.

    Определение, что видят страницы пользователь, является авторизацией и что, конечно, можно кодировать собственный путь. Я предложил бы изучить интерфейсы Идентификационных данных/Принципала, которые доступны в .NET и переопределяют метод "IsInRole" к комплекту Ваши потребности.

    Сессии не действительно хороши для безопасности. Они не работают хорошо в сценариях веб-фермы и когда пул приложений решает переработать... всех Ваших пользователей, выходятся из системы. .NET формируется, автор использует cookie по умолчанию.

    1
    ответ дан 14 December 2019 в 13:48
    поделиться

    В Вашем случае я рекомендовал бы использовать простую Аутентификацию Форм. (См. Как к: Реализуйте Простую Аутентификацию Форм). Простой LoginController мог обработать это.

    Нет ничего "неправильно" о том, чтобы хранить данные профиля пользователя на Сессии, но это может привести к проблемам масштабируемости, если когда-нибудь необходимо загружаться, балансируют веб-сайт. Рекомендуемый метод должен реализовать пользовательский RoleProvider. (См. Реализацию Ролевого Поставщика.)

    Что касается управления доступом, возможно, у Вас может быть класс BaseController, который проверяет текущую роль пользователя для наблюдения, какой доступ они имеют.

    0
    ответ дан 14 December 2019 в 13:48
    поделиться

    Я предложил бы, чтобы лучший способ записать Ваше собственное членство/систему аутентификации состоял в том, чтобы на самом деле использовать встроенный класс MembershipProvider в.NET и получение Вашего собственного класса от этого. Можно всегда создавать собственного Поставщика Членства путем наследования Системе. Сеть. Безопасность. MembershipProvider (и классы Роли и Профиля, также!) класс в платформе.NET, и обеспечивают Вашу собственную определенную реализацию. Таким образом, Вы извлекаете пользу из использования твердой и надежной "основной платформы", на которой можно создать Вашу систему аутентификации и авторизации.

    Путем получения пользовательского Поставщика Членства собственным базовым классом платформы Вы добираетесь для усиления многих замечательных особенностей системы членства ASP.NET, которые встроены, таковы как декларативная авторизация в web.config файле и встроенные билеты аутентификации ASP.NET. Я ответил на очень похожий вопрос здесь, который детализирует некоторые из этих преимуществ.

    Я должен признать, одна вещь, которой я действительно находил необычным, он - пропуск в "типичных" встроенных поставщиках членства в ASP.NET, было отсутствие простого способа позволить пользователям регистрироваться в веб-сайте, но сразу не "проверить" их учетную запись, а скорее послать пользователю электронное письмо, содержащее "ссылку проверки", на которую они должны нажать прежде чем быть предоставленным доступа к веб-сайту. Пока это не стандартная функция в классе ASP.NET MembershipProvider, относительно легко реализовать.

    Существует большой ряд статей Scott Mitchell относительно Членства ASP.NET, Роли и поставщиков Профиля (включая одного при проверке учетной записи по электронной почте прежде, чем позволить вход в систему), который может быть найден здесь:

    Исследование ASP.NET 2.0's членство, роли и профиль

    который должен помочь, если Вы получаете своего собственного поставщика от поставщиков ASP.NET.

    1
    ответ дан 14 December 2019 в 13:48
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: