我正在使用春季社交,春季安全,春季mvc,并试图实现以下目标。
在一个页面上为多个社交网络连接和断开连接按钮。
当用户尝试连接到我的数据库中已存在的社交网络时,询问用户是否要合并用户帐户(每个帐户都注册了不同的社交提供商)。
强制用户在执行合并之前验证两个帐户的所有权。
我遇到的困难在于春天的社会框架。
我已经实现了(http://docs.spring.io/spring-social/docs/current/apidocs/org/springframework/social/connect/ConnectionRepository.html),包括如果我的数据库中已经存在已连接的帐户,则抛出(http://docs.spring.io/spring-social/docs/current/apidocs/org/springframework/social/connect/DuplicateConnectionException.html)的add方法。
ConnectController(http://docs.spring.io/spring-social/docs/current/apidocs/org/springframework/social/connect/web/ConnectController.html)在私有方法中吞下这个异常,然后私下将所有错误转换为模型属性,这意味着我只知道我的jsp页面中是否存在重复的连接。
${social_addConnection_duplicate}
我还看了一下拦截器,但它们只是在连接成功或连接尝试之前触发。它们也适用于每个提供商,因此不能在全球范围内用于所有提供商。
是否有一种奇特的弹簧方式可以在我无法找到的控制器中捕获此异常?