Nor*_*sey 9 haskell web-applications happstack
上周,我们三个人花了两天时间尝试使用Happstack构建一个简单的Web应用程序.我们关注的一个问题是身份验证,看起来曾经有一个Happstack.Auth看起来非常好的软件包.不幸的是原来的项目似乎已经被放弃了,虽然有一个fork,但是我们无法构建fork.
人们建议在Happstack中进行身份验证有哪些替代方案?是否happstack-auth可行?
您可以考虑将happstack-authenticate作为替代方案,
darcs得到http://src.seereason.com/happstack-authenticate/
happstack-authenticate构建在authenticate和pwstore之上,以提供:
代码的设计使其可以与多种不同的模板解决方案一起使用.虽然目前只有HSP模板.
它还没有被束缚,但是会.我希望它成为事实上的快乐堆栈认证解决方案.
你可以在这里看到它的动作:
源代码包含一个带有自包含示例的演示目录.
代码有效 - 尽管仍有一些功能需要添加.例如,如果您被重定向到登录页面,则最终应该在您登录后转发回您尝试访问的原始页面.
目前最大的缺点是文档.这将得到解决.
您会注意到,happstack-authenticate使用Web路由进行类型安全的URL和酸状态来存储身份验证信息.但是,这些设计选择不必泄漏到您的应用程序的其余部分.
你使用什么模板解决方案?我有兴趣增加对其他系统的支持.
- 杰里米
ps如果你看一下代码,它可能看起来比预期的要复杂一些.那是因为它旨在允许:
单个配置文件的多种身份验证方法
例如,您可以将多个openid帐户链接到同一个配置文件.也许是因为您担心您可能无法访问主要的openid帐户.或者您希望团队中的每个人都使用共享帐户登录.(例如,在像twitter这样的网站上,您可能希望多个人能够通过公司帐户发布推文).
单个身份验证方法的多个配置文件
在类似Twitter的网站上,您可能拥有多个帐户.例如,我有Twitter账户,我自己,我的摄影,我的音乐,happstack,seereason等等.不是对每个帐户进行单独的身份验证,而是进行单一身份验证,然后选择我想要的"配置文件",这将是一件好事.
当然,使用happstack-authenticate的站点不必支持这些选项.