2012-06-17 24 views
48

Necesito requerir múltiples tipos de autenticación en mi aplicación; en particular: algunas partes de la aplicación requieren autenticación en Dropbox, y algunas partes requieren autenticación basada en correo electrónico como browserID.Autenticación múltiple en Yesod?

¿Cómo puedo manejar esto?

¿Puedo adjuntar autenticación a un subsitio? Dado que la clase YesodAuth toma el tipo de datos de la base maestra como su argumento en todos los ejemplos, no es obvio cómo puedo hacerlo.

Si no, ¿hay alguna otra manera?

Respuesta

3

Disculpa si mi respuesta es un tanto vaga (han pasado unos meses desde que utilicé Yesod, y el ciclo de desarrollo es bastante rápido), pero si recuerdo correctamente puedes especificar múltiples variedades de autenticación dentro de la clase YesodAuth (browserID, google, etc.), en cuyo caso se le proporcionaría al usuario la opción de usar en cada solicitud de autenticación. Algo así como:

authPlugins _ = [ authBrowserId , authGoogleEmail ]

etc.

Sea o no se puede establecer explícitamente un tipo de autenticación para cada circunstancia que no sé me temo, y si así se resuelve el problema I' estoy inseguro