Какое программное обеспечение рекомендуется для аутентификации с помощью комплекта веб-разработки Happstack?

На прошлой неделе трое из нас потратили два дня, пытаясь создать простое веб-приложение с помощью Happstack. Одной из наших проблем является аутентификация, и, похоже, когда-то был пакет Happstack.Auth, который выглядел действительно хорошо. К сожалению, первоначальный проект, похоже, был заброшен, и, несмотря на наличие форка, мы не смогли построить форк.

Какие альтернативы люди рекомендуют для аутентификации в Happstack? Является ли happstack-auth жизнеспособным?


person Norman Ramsey    schedule 29.08.2011    source источник


Ответы (1)


В качестве альтернативы вы можете рассмотреть happstack-authenticate,

darcs получают http://src.seereason.com/happstack-authenticate/

happstack-authenticate строится поверх аутентификации и pwstore для обеспечения:

  1. стандартная аутентификация по имени пользователя/паролю
  2. аутентификация openid
  3. фейсбук подключить

Код разработан таким образом, что его можно использовать с несколькими различными решениями для шаблонов. Хотя на данный момент есть только шаблоны HSP.

Его пока нет на взломе, но будет. Я ожидаю, что он станет де-факто решением для аутентификации happstack.

Вы можете видеть, что это действие здесь:

http://www.seereason.com/

Исходный код включает демонстрационный каталог с автономным примером.

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

Самый большой недостаток на данный момент — это документация. Это будет рассмотрено.

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

Какое шаблонное решение вы используете? Я был бы заинтересован в добавлении поддержки дополнительных систем.

-- Джереми

p.s. Если вы посмотрите на код, он может показаться немного сложнее, чем ожидалось. Это связано с тем, что он предназначен для:

  1. несколько методов аутентификации для одного профиля

    Например, вы можете связать несколько учетных записей openid с одним и тем же профилем. Возможно, потому что вы боитесь потерять доступ к своей основной учетной записи openid. Или, может быть, вы хотите, чтобы все в вашей команде входили в систему, используя общую учетную запись. (Например, на таком сайте, как Twitter, вы можете захотеть, чтобы несколько человек могли публиковать твиты через учетную запись компании).

  2. несколько профилей для одного метода аутентификации

    На таком сайте, как Twitter, у вас может быть несколько учетных записей. Например, у меня есть аккаунты в Твиттере для себя, моей фотографии, моей музыки, happstack, seereason и многого другого. Вместо того, чтобы иметь отдельную аутентификацию для каждой учетной записи, было бы неплохо иметь единую аутентификацию, а затем выбирать, каким «профилем» я хочу быть.

сайты, использующие happstack-authenticate, конечно, не обязаны поддерживать эти параметры.

person stepcut    schedule 29.08.2011
comment
В настоящее время мы используем Text.Blaze для создания шаблонов. Мы действительно предпочитаем типобезопасный HTML-генератор в стиле WASH стилю шаблона XML. - person Norman Ramsey; 30.08.2011
comment
Поддержка blaze-html для happstack-authenticate — определенно следующая библиотека шаблонов в списке TODO. Если это блокатор, я мог бы сделать это раньше, чем позже. Я переезжаю на этой неделе, но могу сделать это на следующей неделе где-нибудь. - person stepcut; 30.08.2011