Hi Folks,I've been talking Les and Peter about making the Ki APi available to Grails users for the past few days and I've got something to show now as a direct port from the previous JSecurity plugin.
You can grab the code and an example grails app on Github http://github.com/intientoss/grails-ki/tree/master There is a readme with the example application to show you how to get it up and running incase you folks haven't had much experience in the grails area. All seems to be working fine except the following: * It seems like RequiresRoles and RequiresPermissions annotations don't work on Grails Actions (so groovy closures) and I assume in Services etc. This is something I'd really like to see support for ASAP. I've started to look into how you folks do your various annotation processing and I believe i have my Spring configuration setup correctly but I've had no luck. I did catch a note from Peter that said Ki annotations only work on methods (seems to be the case) but that groovy closures are infact fields. All spring configuration is done using the Grails Spring DSL in the file http://github.com/intientoss/grails-ki/blob/46609a0030916d84357f41c80b2623baaf1eb546/plugin/KiGrailsPlugin.groovy * Grails reloads various spring beans which changes are made to components during development runtime. When this happens and I have the destroy method configured for DefaultWebSecurityManager I get the following: java.lang.NullPointerException at org.apache.ki.mgt.SessionsSecurityManager.setAttribute(SessionsSecurityManager.java:332) at org.apache.ki.session.mgt.DelegatingSession.setAttribute(DelegatingSession.java:222) at org.apache.ki.session.ProxiedSession.setAttribute(ProxiedSession.java:130) at org.apache.ki.mgt.SessionSubjectBinder.bindToSession(SessionSubjectBinder.java:88) at org.apache.ki.mgt.SessionSubjectBinder.bind(SessionSubjectBinder.java:80) at org.apache.ki.mgt.DefaultSecurityManager.bind(DefaultSecurityManager.java:251) at org.apache.ki.mgt.DefaultSecurityManager.getSubject(DefaultSecurityManager.java:443) at org.apache.ki.mgt.DefaultSecurityManager.getSubject(DefaultSecurityManager.java:449) at org.apache.ki.web.servlet.KiFilter.bind(KiFilter.java:447) If the team here can provide any assistance into getting these issues corrected I've be very appreciative, ideally I'd like to see JSecuriy/Ki/??? be the number one choice for security in the Grails world. cheers, Bradley
