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