2012-06-17 5 views
48

Мне нужно потребовать несколько типов аутентификации в моем приложении; в частности: некоторые части приложения требуют аутентификации для удаления, а некоторые части требуют аутентификации на основе электронной почты, такой как browserID.Несколько Auth в Yesod?

Как я могу справиться с этим?

Могу ли я подключить аутентификацию к дочернему сайту? Поскольку класс YesodAuth принимает тип данных основного фундамента как свой аргумент во всех примерах, неясно, как я могу это сделать.

Если нет, есть ли другой способ?

ответ

3

Извините, если мой ответ немного туманный (прошло несколько месяцев с тех пор, как я использовал Yesod, и цикл dev был довольно быстрым), но если я правильно помню, вы можете указать несколько вариантов аутентификации в классе YesodAuth (browserID, google и т. д.), и в этом случае пользователю будет предоставлен параметр, который будет использоваться при каждом запросе на аутентификацию. Что-то вроде:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

и т.д.

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

Смежные вопросы