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

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

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

1 Ответ

5 голосов
/ 29 августа 2011

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

Даркс получить http://src.seereason.com/happstack-authenticate/

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

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

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

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

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

http://www.seereason.com/

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

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

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

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

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

- Джереми

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

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

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

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

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

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

...