Liftでログインしているユーザーのみ閲覧可能にする
User.loggedIn_? ってのを使う。
ページ全体のアクセス制御をしたい場合はLiftのMLのこちら(英語)にあるように、Boot.scalaでMenuをいじればいいらしい。
ページの一部分だけの場合、自分はsnippet内でやった。例えばログインしているユーザーだけにテキストボックスを表示させる場合、以下のようにした(Getting Startedのコードの改造)。
import code.model._ //Userクラスを使うので def render = if(User.loggedIn_?) { bind("chat", // the namespace for binding "line" -> lines _, // bind the function lines "input" -> SHtml.text("", s => ChatServer ! s)) } else { bind("chat", // the namespace for binding "line" -> lines _, // bind the function lines "input" -> "") }
あまりScalaっぽくないコードかもしれないけど、まぁ初心者と言うことで。
環境
- Scala 2.8.0
- Lift 2.1