【发布时间】:2015-05-31 22:37:50
【问题描述】:
我正在尝试使用两种不同类型的登录开发一个 yesod 应用程序:管理员和用户。我在 config/model 中设置了两个模型,并通过脚手架工具在数据库中自动生成了相应的表。但是,我不知道如何进行身份验证:我可以做任何一个
instance YesodAuth App where
type AuthId App = AdminId
验证管理员身份或
instance YesodAuth App where
type AuthId App = UserId
对用户进行身份验证。但是我如何同时做这两个呢? TIA。
【问题讨论】:
-
我认为通常
admin只是users表上的布尔属性。你有什么理由要为他们单独的表? -
我希望管理员和用户之间建立一对多的关系,以便管理员可以管理用户,例如他们的个人资料和其他信息。
-
我能想到的一个解决方案是让两个独立的 yesod 应用程序连接到同一个数据库,一个针对管理员进行身份验证,另一个针对用户进行身份验证。要做的工作更多,但总体而言,在架构性能和安全性方面可能会更好。