Skip to content

Instantly share code, notes, and snippets.

@virtualdogbert
Created April 16, 2020 22:17
Show Gist options
  • Save virtualdogbert/35c97135a6a64ff6cb1362fc77a42c9c to your computer and use it in GitHub Desktop.
Save virtualdogbert/35c97135a6a64ff6cb1362fc77a42c9c to your computer and use it in GitHub Desktop.
package com.security.enforcer
import com.security.Sprocket
import com.virtualdogbert.ast.*
import grails.gorm.transactions.Transactional
import grails.plugin.springsecurity.SpringSecurityService
@EnforcerTransactional
class EnforcerTestTService {
SpringSecurityService springSecurityService
@Transactional
Sprocket createSprocket() {
springSecurityService.currentUser
Sprocket sprocket = new Sprocket(
material: 'metal',
creator: springSecurityService.currentUser
)
sprocket.save()
}
@EnforceT({ isCreator(sprocket) })
Sprocket updateSprocket(Sprocket sprocket) {
sprocket.material = 'plastic'
sprocket.save()
}
@EnforceTS({ isCreator(sprocket) })
Sprocket updateSprocketCompileStatic(Sprocket sprocket) {
sprocket.material = 'plastic'
(Sprocket) sprocket.save()
}
@Enforce({ isCreator(sprocket) })
Sprocket getSprocket(Sprocket sprocket) {
return sprocket
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment