尝试使用GrailsSpring安全插件+;Facebook Connect可自动创建具有默认身份验证权限的用户

尝试使用GrailsSpring安全插件+;Facebook Connect可自动创建具有默认身份验证权限的用户,grails,facebook,spring-security,Grails,Facebook,Spring Security,我正在开发一个应用程序,它使用Grails的Spring(Acegi)插件。该插件内置了facebook连接设置。我已经按照说明在应用程序中处理facebook登录。。。然而,我对到底发生了什么知之甚少,我真正想做的是让用户/访问者可以选择使用他们的facebook帐户登录或注册我的应用程序,或者手动创建一个帐户。我在Spring安全插件的应用程序中设置了一些角色,这些角色使用facebook connect登录选项被绕过。我可以在哪里拦截Spring安全插件中的登录操作,以插入我自己的自定义代

我正在开发一个应用程序,它使用Grails的Spring(Acegi)插件。该插件内置了facebook连接设置。我已经按照说明在应用程序中处理facebook登录。。。然而,我对到底发生了什么知之甚少,我真正想做的是让用户/访问者可以选择使用他们的facebook帐户登录或注册我的应用程序,或者手动创建一个帐户。我在Spring安全插件的应用程序中设置了一些角色,这些角色使用facebook connect登录选项被绕过。我可以在哪里拦截Spring安全插件中的登录操作,以插入我自己的自定义代码,在应用程序中创建新用户(如果他/她不存在)

我的希望是,如果他们选择使用facebook创建帐户。。我的应用程序将为facebook用户创建一个具有默认权限的对应帐户。当用户登录时,将设置权限,并且需要进行身份验证才能访问某些内容

我在这里找到了使用Shiro安全插件处理此问题的方法:

我也偶然发现了敏捷。然而,我真的很喜欢春天的安全,可能只是一件安慰的事情,也许是时候让我试一下灵活的Shiro了。。我不知道

我希望这是有道理的。我很感激任何能让这一切发生的方向

最好的
Mike

您是否尝试过使用SecurityListener类实现ApplicationListener

public void onApplicationEvent(ApplicationEvent event) { if (event instanceof AuthenticationSuccessEvent) { ... } } ApplicationEvent上的公共无效(ApplicationEvent事件) { if(身份验证成功事件的事件实例) { ... } }
另请参见:

hmm。。。不记得我是否试过这个。我将不得不重新调查。然而,我能够使用ApacheShiro并做我需要的事情。