我正在使用 Spring Security 开发基于 Spring 的应用程序。我有不同角色的用户,并希望根据角色实现访问拒绝处理。更具体地说,期望的效果如下:当用户尝试访问他不允许访问的资源时,我想区分拒绝是因为用户未经过身份验证的情况和拒绝的情况是由于权限不足(角色错误)。未通过身份验证的用户可以被定向到常规 403 页面,但角色错误的用户我想重定向到他们可以请求授予适当角色的表单。
我正在考虑添加“<access-denied-handler error-page="/xyz">”并实现 xyz 控制器,或者以某种方式(尚不确定如何)将其实现为自定义过滤器。
你会如何解决这个问题?有什么最佳做法吗?试图用谷歌搜索一些例子,因为我认为这是一种很常见的模式,但没有成功。
非常感谢。