嗨,在我的grails应用程序中,我正在使用spring security

在我的查看页面(GSP)之一中
我正在对其中一个 Controller 的 Action 进行ajax调用
但请求被拒绝,我最终在登录 Controller 中执行了“ajaxDenied()”操作

这是我的ajax电话

function setTagged(id) 
{ 
    alert(id); 
    $.ajax({ 
        url: "./email/setTagged", 
        type:"post", 
//      data:{ids:JSON.stringify(idList), option:option, id:id} 
        success: function(data) { 
            alert(data); //<-----this logs the data in browser's console 
        }, 
        error: function(xhr){ 
            alert(xhr.responseText); //<----when no data alert the err msg 
        } 
    }); 
    alert("here 1"); 
} 

这是我的config.groovy部分,其中Spring Security插件允许将哪些页面
可访问的
// Added by the Spring Security Core plugin: 
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.spi.User' 
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.spi.UserRole' 
grails.plugin.springsecurity.authority.className = 'com.spi.Role' 
grails.plugin.springsecurity.controllerAnnotations.staticRules = [ 
    '/':                              ['permitAll'], 
    '/index':                         ['permitAll'], 
 
    '/login/*':                       ['permitAll'], 
    '/home/*':                       ['permitAll'], 
    '/logout/*':                      ['permitAll'], 
 
    '/message/*':                     ['permitAll'], 
    '/ticket/*':                      ['permitAll'], 
    '/email/*':                       ['permitAll'], 
    '/role/*':                        ['permitAll'], 
    '/user/*':                        ['permitAll'], 
 
 
    '/index.gsp':                     ['permitAll'], 
    '/**/js/**':                      ['permitAll'], 
    '/**/css/**':                     ['permitAll'], 
    '/**/images/**':                  ['permitAll'], 
    '/**/favicon.ico':                ['permitAll']] 

任何建议我如何通过ajax调用从我自己的 Controller 中调用任何 Action ?

请您参考如下方法:

您的spring-security插件的版本是什么?

我不知道这是否是问题,但是默认情况下版本2.0更安全,并使用悲观锁定(What's NewPessimistic Lockdown)。

您是否为操作定义了@secured注释?


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!