使用Happstack Web开发工具包建议使用哪些软件进行身份验证?

时间:2011-08-29 04:02:19

标签: web-applications haskell happstack

上周,我们三个人花了两天时间尝试使用Happstack构建一个简单的Web应用程序。我们关注的一个问题是身份验证,看起来曾经有一个看起来非常好的Happstack.Auth包。不幸的是原来的项目似乎已经被放弃了,虽然有一个分叉,但是我们无法建立分支。

人们建议在Happstack中进行身份验证的替代方案是什么? happstack-auth可行吗?

1 个答案:

答案 0 :(得分:5)

您可以将happstack-authenticate视为替代方案,

darcs获得http://src.seereason.com/happstack-authenticate/

happstack-authenticate在authenticate和pwstore之上构建以提供:

  1. 标准用户名/密码身份验证
  2. openid authentication
  3. facebook connect
  4. 代码的设计使其可以与多种不同的模板解决方案一起使用。虽然目前只有HSP模板。

    它还没有被束缚,但是会。我希望它成为事实上的快乐堆栈认证解决方案。

    你可以在这里看到它的动作:

    http://www.seereason.com/

    源代码包含一个带有自包含示例的演示目录。

    代码有效 - 尽管仍有一些功能需要添加。例如,如果您被重定向到登录页面,则最终应该在您登录后转发回您尝试访问的原始页面。

    目前最大的缺点是文档。这将得到解决。

    您会注意到,happstack-authenticate使用Web路由进行类型安全的URL和酸状态来存储身份验证信息。但是,这些设计选择不必泄漏到您的应用程序的其余部分。

    您使用的是哪种模板解决方案?我有兴趣增加对其他系统的支持。

    - 杰里米

    P.S。如果你看一下代码,它可能看起来比预期的要复杂一些。那是因为它旨在允许:

    1. 单个配置文件的多种身份验证方法

      例如,您可以将多个openid帐户链接到同一个配置文件。也许是因为您担心您可能会失去对主要openid帐户的访问权限。或者您希望团队中的每个人都使用共享帐户登录。 (例如,在像twitter这样的网站上,您可能希望多个人能够通过公司帐户发布推文。)

    2. 单个身份验证方法的多个配置文件

      在类似Twitter的网站上,您可能拥有多个帐户。例如,我有Twitter账户,我自己,我的摄影,我的音乐,happstack,seereason等等。不是对每个帐户进行单独的身份验证,而是进行单一身份验证,然后选择我想要的“配置文件”,这将是一件好事。

    3. 使用happstack-authenticate的网站当然不必支持这些选项。