我正在从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插件进行身份验证管理。
答案 0 :(得分:1)
这可能是因为Spring安全性(可能是您的操作或控制器具有安全注释,或者可能是通过配置中的url映射来保护操作)。
你可以绕过
如果使用注释
@Secured('IS_AUTHENTICATED_ANONYMOUSLY')
def teacher() {
....
}
如果在config
中使用url映射grails.plugins.springsecurity.interceptUrlMap = [
...
'/user/teacher/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
...
]