【问题标题】:ajax request denied in spring security , Grailsajax请求在spring security中被拒绝,Grails
【发布时间】:2014-06-03 17:07:11
【问题描述】:

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

在我的一个视图页面 (GSP) 我正在对其中一个控制器中的操作进行 ajax 调用 但请求被拒绝,我最终在登录控制器中的“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 安全插件允许哪些页面是 无障碍

// 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 调用从我自己的控制器调用任何操作???

【问题讨论】:

    标签: ajax grails spring-security grails-plugin


    【解决方案1】:

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

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

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

    【讨论】:

    • 嗯,是的,我正在使用 2.0 版,我仍然可以通过任何方式玩 Ajax 吗??
    • 当然可以!如果是注释问题,您只需在控制器中添加此导入: import grails.plugin.springsecurity.annotation.Secured @Secured(['IS_AUTHENTICATED_ANONYMOUSLY']) class YourController { ... }跨度>
    • 你可以通过link找到更多关于注解的信息
    猜你喜欢
    • 2018-01-04
    • 2013-11-14
    • 2017-01-14
    • 2013-05-07
    • 2015-11-13
    • 1970-01-01
    • 2015-01-10
    • 2011-04-22
    • 2020-12-19
    相关资源
    最近更新 更多