我将 Acegi 与 grails 一起使用,但我遇到了重定向问题。
我在 UrlMapping 中这样定义:
"/" {
controller = "mycontroller"
action = "myaction"
}
在我的 Controller 中:
myaction = {
if (authenticateService.isLoggedIn(){ "/mycontext/public" }
else {
// pseudo code
if (role = ROLE_1) {
redirect "/mycontext/myactionforNormalUser"
}
else if (role = ROLE_ADMIN) {
redirect "/mycontext/myactionforROLEADMIN"
}
}
}
如果我在没有登录的情况下转到我的应用程序,我将被重定向到公共(public)页面,所以这是正确的。 但是在管理员登录时,我被重定向到 auth/deniedAjax(acegi 的),而不是在我的页面上。 如果我以普通用户身份登录,我将重定向到我的 gsp 中定义的 ajax 方法。
你有什么想法吗?
非常感谢。
最佳答案
升级后可以正常使用 spring security
关于Grails Acegi : Redirection on a ajax method and not on the webpage. 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858429/