It will help if you can present a sample runnable project that help us
debug the issue.
> case Full(Req(path, _, _)) if !isLoggedIn && path !=
> List("login") =>
I suspect that you have a problem here. `path` is of type ParsePath
and is being compared to a `List`. The inequality check always result
true.
- Mahmood
Lift seems to cache the SiteMap.globalParamFuncs results in
Loc.allParams, so it gets invoked only once. However, it is better to
expression the conditional logic as the `If` LocParam rather than
doing the conditional in code.
To get it working, I changed the SiteMap initialization to:
LiftRules.setSiteMap(new SiteMap(List({ case r =>
If(() => r match {
case Full(Req(path, _, _)) if path == List("user_mgt",
"login") => true
case _ => isLoggedIn
}, RedirectResponse("/user_mgt/login"))
}), entries:_*))
Please test and report.
I suspect that this is not a bug, as SiteMap.globalParamFuncs should
partial functions generating LocParams which should encapsulate the
authentication test logic.
- Mahmod
> --
> You received this message because you are subscribed to the Google Groups "Lift" group.
> To post to this group, send email to lif...@googlegroups.com.
> To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
>
>
dave
<><
--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.