Grails:调用公共操作重定向到登录页面

时间:2013-09-16 11:03:37

标签: javascript grails

我正在从php到grails应用程序进行跨域ajax调用。

我的php脚本:

$uid=$_GET['uid'];
function getData($uid)

{
    $dataUrl='http://localhost:8080/profile/user/teacher?id='.$uid;
    $json=file_get_contents($dataUrl);
    print_r($json);

}
getData($uid);

调用此PHP脚本的Javascript是

$.getJSON('userdata.php?uid'+1,function(data){
  console.log(data);
});

这里当我做getJSON调用它进入我的应用程序的登录页面,即使我没有检查登录该特定方法。即它是一种无需登录即可访问的公共方法。

我使用springsecurity插件进行身份验证管理。

1 个答案:

答案 0 :(得分:1)

这可能是因为Spring安全性(可能是您的操作或控制器具有安全注释,或者可能是通过配置中的url映射来保护操作)。

你可以绕过

如果使用注释

@Secured('IS_AUTHENTICATED_ANONYMOUSLY')
def teacher() {
    ....
}

如果在config

中使用url映射
grails.plugins.springsecurity.interceptUrlMap = [
...
'/user/teacher/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
...
]
相关问题