我正在尝试设置一个授权方案,我在其中检查 1. 用户已登录 2. 用户有权访问某个对象。为此,我首先调用maybeAuthId
,然后尝试获取当前对象,并“加入”到另一个列出权限的表。有两个级别的可能案例和一个级别的空列表案例。我曾想过使用 MaybeT,但要么我太累而无法让它工作,要么“不是真正的 monad 转换器”-handler-transformers 不能与 MaybeT 一起使用。有没有很好的方法来处理深度可能?
编辑:
我似乎有点不清楚。我的意思是我有这样的东西:
case foo of
Nothing -> something
Just foo' -> do
bar <- somethingelse
case bar of
Nothing -> ...
Just bar' -> ...