これをスキャフォールディングの例に入れる計画で、ユーザーの承認の y-book の例に従っていました。
y-wiki に良い例がありますが、これを試してみたかったのです。したがって、「インスタンス Yesod App where」内の Foundation.hs で
-- route name, then a boolean indicating if it's a write request
isAuthorized HomeR True = isMyAuth
isAuthorized BlogR _ = isMyAuth
-- anyone can access other pages
isAuthorized _ _ = return Authorized
インスタンススコープ外のものの後:
isMyAuth = do
mu <- maybeAuthId
return $ case mu of
Nothing -> AuthenticationRequired
Just "mylog" -> Authorized
Just _ -> Unauthorized "You must be an mylog"
インスタンス YesodAuthApp では、
-- type AuthId App = UserId
type AuthId App = Text
また、loginDest を BlogR を指すように変更しました。db-access で getAuthId をどのように記述すればよいですか。isMyAuth 関数とまったく同じテキスト「mylog」と比較したいだけです。getAuthId をコメントアウトすると、内部サーバー エラーが発生します。このメソッドが欠落している場合、ghc がコンパイルされないようにすることは可能ですか?
と
getAuthId creds = return $ "mylog" だけ
コンパイルするようです。ただし、「サインイン」後、これはログイン ページにとどまり、BlogR ページにリダイレクトされません。