Spring安全核心框架在Grails Spring安全核心插件中进行了两次配置 [英] Spring security core framework getting configured twice in Grails Spring security core plugin

查看:168
本文介绍了Spring安全核心框架在Grails Spring安全核心插件中进行了两次配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



配置弹簧安全性核心框架时的调试语句打印两次,过滤器链也打印初始化两次

  WARN grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin  -  
配置Spring Security Core ...

配置Spring Security Core ...
WARN grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin - ...完成
配置Spring Security Core

...完成配置Spring安全核心

构建gradle文件



<$ p $ (
ext {
grailsVersion = project.grailsVersion
}
仓库{
mavenLocal()
maven {url https://repo.grails.org/grails/core}
}
依赖关系{
classpathorg.grails:grails-gradle-plugin:$ grailsVersion
类路径 org.grails.plugins:hibernate:4.3.10.5

}

插件{
idio.spring.dependency-managementversion0.5。 2.RELEASE


版本0.1
组restservicesapp

套用插件:spring-boot
apply插件:战争
申请插件:'eclipse'
申请插件:'idea'
申请插件:org.grails.grails-web

ext {
grailsVersion = project.grailsVersion
gradleWrapperVersion = project.gradleWrapperVersion
}

库{
mavenLocal()
行家{URLHTTPS ://repo.grails.org/grails/core}
}

dependencyManagement {
imports {
mavenBomorg.grails:grails-bom:$ grailsVersion

applyMavenExclusions false
}

依赖项{
编译org.springframework.boot:spring-boot-starter-logging
编译org.springframework.boot:spring-boot-starter-actuator
compileorg.springframew ork.boot:spring-boot-autoconfigure
提供org.springframework.boot:spring-boot-starter-tomcat
compileorg.grails.plugins:hibernate
compile org.grails.plugins:cache
compileorg.hibernate:hibernate-ehcache

runtimemysql:mysql-connector-java:5.1.38
compile' org.grails.plugins:spring-security-core:3.0.3'
compile('org.grails.plugins:spring-security-rest-gorm:2.0.0.M2'){
exclude group:'org.grails.plugins',模块:'spring-security-core'
}


testCompileorg.grails:grails-plugin-testing
testCompileorg.grails.plugins:geb
$ b $ // consoleorg.grails:grails-console


任务包装器(类型: Wrapper){
gradleVersion = gradleWrapperVersion
}


解决方案

我相信Spring Security没有被配置两次。一行输出来自日志记录,另一行是println。
下面是一些来自 grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin

  Closure doWithSpring(){{ - > 
ReflectionUtils.application = SpringSecurityUtils.application = grailsApplication

SpringSecurityUtils.resetSecurityConfig()
DEF CONF = SpringSecurityUtils.securityConfig
布尔printStatusMessages =(conf.printStatusMessages的instanceof布尔) ? conf.printStatusMessages:true
if(!conf ||!conf.active){
if(printStatusMessages){
String message ='\\\
\\\
Spring安全被禁用,无法加载\\\
\\\
'
log.warn message
println message
}
return
}

log.trace'doWithSpring'

if(printStatusMessages){
String message ='\\\
配置Spring Security Core ...'
log.warn消息
println消息
}


I am using Grails spring security core plugin version 3.0.3.

The debug statements when configuring the spring security core framework are printed twice and the filter chain is also initialized twice

WARN grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin -
Configuring Spring Security Core ...

Configuring Spring Security Core ...
WARN grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin - ... finished
configuring Spring Security Core

... finished configuring Spring Security Core

Build gradle file

buildscript {
    ext {
        grailsVersion = project.grailsVersion
    }
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" }
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:$grailsVersion"
        classpath "org.grails.plugins:hibernate:4.3.10.5"
    }
}

plugins {
    id "io.spring.dependency-management" version "0.5.2.RELEASE"
}

version "0.1"
group "restservicesapp"

apply plugin: "spring-boot"
apply plugin: "war"
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: "org.grails.grails-web"

ext {
    grailsVersion = project.grailsVersion
    gradleWrapperVersion = project.gradleWrapperVersion
}

repositories {
    mavenLocal()
    maven { url "https://repo.grails.org/grails/core" }
}

dependencyManagement {
    imports {
        mavenBom "org.grails:grails-bom:$grailsVersion"
    }
    applyMavenExclusions false
}

dependencies {
    compile "org.springframework.boot:spring-boot-starter-logging"
    compile "org.springframework.boot:spring-boot-starter-actuator"
    compile "org.springframework.boot:spring-boot-autoconfigure"
    provided "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.grails.plugins:hibernate"
    compile "org.grails.plugins:cache"
    compile "org.hibernate:hibernate-ehcache"

    runtime "mysql:mysql-connector-java:5.1.38"
    compile 'org.grails.plugins:spring-security-core:3.0.3'
    compile ('org.grails.plugins:spring-security-rest-gorm:2.0.0.M2') {
        exclude group: 'org.grails.plugins', module: 'spring-security-core'
    }


    testCompile "org.grails:grails-plugin-testing"
    testCompile "org.grails.plugins:geb"

    //console "org.grails:grails-console"
}

task wrapper(type: Wrapper) {
    gradleVersion = gradleWrapperVersion
}

解决方案

I believe Spring Security is not being configured twice. One line of output is from logging, the other is a println. Below is some code from grails.plugin.springsecurity.SpringSecurityCoreGrailsPlugin:

    Closure doWithSpring() {{ ->
    ReflectionUtils.application = SpringSecurityUtils.application = grailsApplication

    SpringSecurityUtils.resetSecurityConfig()
    def conf = SpringSecurityUtils.securityConfig
    boolean printStatusMessages = (conf.printStatusMessages instanceof Boolean) ? conf.printStatusMessages : true
    if (!conf || !conf.active) {
        if (printStatusMessages) {
            String message = '\n\nSpring Security is disabled, not loading\n\n'
            log.warn message
            println message
        }
        return
    }

    log.trace 'doWithSpring'

    if (printStatusMessages) {
        String message = '\nConfiguring Spring Security Core ...'
        log.warn message
        println message
    }

这篇关于Spring安全核心框架在Grails Spring安全核心插件中进行了两次配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆