0

csv ダウンロード リンクを提供したい Lift Web アプリケーションがあります。csv は、リフト レスト サービスによって提供されます。

これを設定しても問題ありません。でも; これが安全かつスムーズに機能するためには、すでに確立されている認証済みの Web セッションを使用する必要があります。

これは、他のレスト サービスを使用した現在のレスト認証です。以下の ??? に入れることができる Web ユーザーの役割はありますか? または私はポイントを完全に逃していますか?

LiftRules.authentication = HttpBasicAuthentication("lift") {
  case (`webshopUser`, `webshopPwd`, _) =>
    userRoles(webshopRole :: Nil)
    true
  case (`mailingListUser`, `mailingListPwd`, _) =>
    userRoles(mailingListRole :: Nil)
    true
}

LiftRules.httpAuthProtectedResource.append {
  case Req("rest" :: "mailingLists" :: _, _, _) => Full(mailingListRole)
  case Req("rest" :: "mamberships" :: "year" :: _, _, _) => ???
  case Req("rest" :: "memberships" :: _, _, _) => Full(webshopRole)
}
4

1 に答える 1

0

ロールは、リソースへのアクセスを制御できるようにする任意の権限です。アプリケーションのどこかで、を実装する変数として定義webshopRoleしました。その2番目のリクエストを保護するには、次のいずれかを決定する必要があります。mailingListRolenet.liftweb.http.auth.Role

  1. 2つのユーザーアカウントのうちの1つにのみアクセスを許可する必要があります。次に、で定義されたアカウントの許可を許可するとします webshopUser。その場合は、を使用しますFull(webshopRole)

  2. 両方のユーザーがアクセスできるようにします。この場合、定義方法と同様の新しい役割を定義します。webshopRoleこの例では、これをと呼びますcsvRoleHttpBasicAuthentication次に、次のように、そのロールをルールに追加しますuserRoles(webshopRole :: csvRole :: Nil)。そして、マッピングでは、次を使用します。Full(csvRole)

于 2013-02-05T19:23:31.347 に答える