【发布时间】:2023-03-21 02:45:01
【问题描述】:
我一直在使用this guide 为我的项目添加身份验证和授权。我是 Yesod 的新手,遇到了一些问题:
我正在使用以下基础数据:
data App = App (TChan Text)
对于我的身份验证,我需要这种数据类型:
data App = App SqlBackend
如何将两者结合起来?那么我是否还必须更改现有功能?
最后我像这样运行:
main :: IO ()
main = runNoLoggingT $ withSqliteConn "email.db3" $ \conn -> liftIO $ do
runSqlConn (runMigration migrateAll) conn
chan <- newTChanIO
warp 3000 $ App chan
-- Backend SqlBackend needs to be initilized with conn (see below)
{- OLD
main = do
chan <- newTChanIO
warp 3000 $ App chan
-}
{- NEW
main = runNoLoggingT $ withSqliteConn "email.db3" $ \conn -> liftIO $ do
runSqlConn (runMigration migrateAll) conn
warp 3000 $ App conn
-}
我知道我必须将两者结合起来。我读了this article。我如何将chan 和conn 放在一起?这可能听起来微不足道,但那里几乎没有文档。
请帮帮我!
【问题讨论】:
标签: haskell authentication authorization yesod templating