我们使用Spring Security OAuth2来保护REST服务(用于服务器之间的通信,没有用户参与)。但是当用户在浏览器中尝试访问受保护的资源时,会显示:
<oauth>
<error_description>
An Authentication object was not found in the SecurityContext
</error_description>
<error>unauthorized</error>
</oauth>
我们希望这个页面能够自定义选择。有什么方法吗?
设置访问被拒绝的页面是行不通的。首先,它需要定义一个登录页面,而我们没有,因为这是纯粹的服务器之间的通信。另外,这个属性似乎已经被弃用了,自Spring 3.0以来...或者其他什么原因。
无论如何,我通过调试进入了OAuth错误处理程序。发现响应似乎会以某种方式丰富与错误页面上看到的信息。显然根本没有进行任何页面渲染,所以看起来好像没有要替换的错误页面?!
至少,如果我们不能拥有“真正”的页面,我们想隐藏使用OAuth的事实,并显示基本的“拒绝”文本。那么也许我将不得不扩展spring安全处理程序或添加自定义过滤器来修改响应?!
也许重定向到我们的错误页面?
谢谢!
编辑
有关我们当前的设置,请查看我在其他SO问题中的提问