2014-07-25 3 views
0

Grails에 Spring Security 코어를 추가해야합니다. ...Groovy : Grails 및 Spring 보안 코어 플러그인을 사용할 때 예기치 않은 토큰

"2.0 RC4 : 봄 - 보안의 핵심" BuildConfig.groovy 플러그인 { ... 컴파일 : 은 내가 Grails를 2.3.8 앱 사용하여 스프링 핵심 보안 플러그인을 추가 한 9. 여러 마커이 줄 에서 유효성 검사기 @ 선 (82), 열 - 그루비를 :

그루비 : 예기치 않은 토큰

는 S2-빠른 시뮬레이션 GUser GRole

파일 GUserGRole.groovy 다음과 같은 오류가 포함되어 : expec 팅 EOF는 발견 '의 경우'@ 선 (83), 열 4. - 그루비 : 예기치 않은 토큰 : 만약 @ 선 (83), 열 다음 코드에 대응 4.

:

static constraints = { 
    GRole validator: { GRole r, GUserGRole ur -> 
     if (ur.GUser == null) return 
     boolean existing = false 
     GUserGRole.withNewSession { 
      existing = GUserGRole.exists(ur.GUser.id, r.id) 
     } 
     if (existing) { 
      return 'userRole.exists' 
     } 
    } 
} 

방법 이게 해결 될 수 있니? Spring Security 코어를 Grails에 깨끗하게 추가하려면 어떻게해야합니까 ??

+0

이 코드는 나에게 많은 의미를 부여하지 않습니다. 이걸로 정확히 무엇을하려고합니까? – rmlan

+0

표시된 코드는 보안 플러그인을 설치 한 후 빠른 시작을 실행할 때 자동으로 생성됩니다. –

+0

IDEA가 설치된 Grails 2.4.4 및 spring-security-core : 2.0-RC3/RC4와 동일한 문제 14 – bel

답변

0

하나의 이슈는 GRole validator입니다. validator 앞에있는 것은 유형이 아닌 제한된 속성의 이름이어야합니다. 속성이 gRole이라면 코드는 gRole validator이어야합니다. 속성은 실제로 GRole이라고 불 렸는지? 그것이 문제가 될 수도 있습니다.

+0

스프링 보안 플러그인을 설치 한 후 빠른 시작을 실행하여 플러그인을 초기화했습니다. GUser와 함께 GRole은 GUserGRole 내에 속성 이름으로 만들어졌습니다. 나는 Grails 2에서 Spring Security Core Plugin을 설치하는 것이 매우 간단하다는 인상을 받았다. –

1

s2quick-start는 GrailsNameUtils.getPropertyNameRepresentation을 사용하여 도메인 클래스의 인스턴스 필드를 생성합니다. 적절한 필드 이름을 생성하는 이름을 사용하십시오. 그렇지 않으면 필드 이름과 클래스 이름이 같습니다.

//This is fine - generates 'user' 
GrailsNameUtils.getPropertyNameRepresentation("User") 

//This is fine - generates 'myUser' 
GrailsNameUtils.getPropertyNameRepresentation("MyUser") 

//Not fine. Generates 'GRole' which is same as your class name 
GrailsNameUtils.getPropertyNameRepresentation("GRole") 
0

Groovy: Unexpected token ":"을 확인하십시오.

코드가 자동 생성되므로 클래스 변수의 이름을 수동으로 수정하고 "GRole GRole"을 "GRole gRole"로 변경해야합니다.