Haskell开发:认证功能实现与日志管理
1. 认证功能实现
在实现认证功能时,除了使用 data-has 外,还需要启用两个新的语言扩展: ConstraintKinds 和 FlexibleContexts 。将它们添加到 package.yaml 文件中:
default-extensions:
- ConstraintKinds
- FlexibleContexts
ConstraintKinds 语言扩展允许我们定义类型别名来表示约束,例如:
type InMemory r m = (Has (TVar State) r, MonadReader r m, MonadIO m)
如果不使用该扩展,我们需要在每个函数类型签名中完整地写出约束,这会使代码变得冗长。
1.1 SessionRepo 实现
- findUserIdBySessionId :该函数用于根据会话 ID 查找用户 ID。它首先获取当前状态,然后在
stateSessions结构中查找会话 ID。
findUserIdBySessionId
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



