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