Model view controller Spring MVC自定义身份验证

Model view controller Spring MVC自定义身份验证,model-view-controller,spring,authentication,filter,Model View Controller,Spring,Authentication,Filter,我希望实现的是一个过滤器(或类似的过滤器),用于处理SpringMVC应用程序的身份验证模型。我的应用程序也托管在谷歌应用程序引擎上 此应用程序上的身份验证可能是非常动态的,权限不能完全适合预定义的角色结构。这些权限将绑定到控制器上的不同操作方法。理想情况下,我希望能够注释这些权限,但我愿意接受其他建议 我发现关于如何做到这一点,没有太多的信息。理想情况下,我希望能够截获对控制器操作的调用,并能够读取注释并进行相应的处理。我希望这里的人对Spring MVC有更多的了解,我可以在这里注入一些自定

我希望实现的是一个过滤器(或类似的过滤器),用于处理SpringMVC应用程序的身份验证模型。我的应用程序也托管在谷歌应用程序引擎上

此应用程序上的身份验证可能是非常动态的,权限不能完全适合预定义的角色结构。这些权限将绑定到控制器上的不同操作方法。理想情况下,我希望能够注释这些权限,但我愿意接受其他建议


我发现关于如何做到这一点,没有太多的信息。理想情况下,我希望能够截获对控制器操作的调用,并能够读取注释并进行相应的处理。我希望这里的人对Spring MVC有更多的了解,我可以在这里注入一些自定义代码,并能为我指明正确的方向。

我仍然会使用Spring Security来实现这一点。它可能没有一个100%适合您的登录方案的类,但继承就是为了这个。写你自己的。您可以轻松摆脱基于角色的DecisionManager,使其适合您的范例

根据您的评论,您是否在春季检查了MethodInterceptor?它创建一个代理,该代理将截获对代理类上任何方法的调用,并允许您基于所需的任何代码运行或禁止该方法。在SpringSecurity中有一个AbstractSecurityInterceptor,但我发现它很难使用,而且对于大多数访问决策来说,我认为它有点过分了


因此,我将使用Spring Security对用户进行身份验证(并填充SecurityContext),然后使用拦截器阻止对控制器中您想要保护的方法的访问。

我已经准备好编写自己的代码实现,但我发现缺少关于Spring Security的文档,如果你有任何你认为有用的链接,我们将不胜感激。谢谢。当然,我知道我花了一段时间才看完这一切——而且有些文档有点模棱两可。如果他们似乎在说有多种方法可以做某事,那么,很可能有。你能不能更详细地补充一下你的问题,也许我可以为你指出正确的方向。更简洁地说,我真正需要的是拦截一个动作并对经过身份验证的用户执行一些快速检查的能力。这些检查将从数据库读取权限,并根据业务执行重定向。我可以通过App Engine的内置服务和使用我自己的专有服务接收这些信息,但我目前无法找到拦截对我的控制器操作的调用的方法。