dav*_*ooh 2 java spring spring-security
对不起,伙计们,也许是个愚蠢的问
但我需要在我的网络应用程序中实现一些额外的身份验证和授权逻辑,我不清楚在哪里AuthenticationProvider和AuthenticationEntryPoint必须使用.
寻找一些例子,我常常发现AuthenticationEntryPoint在security:http节中省略了一个.
但是有些情况也AuthenticationProvider被省略(框架提供了一个默认实例?),只UserDetailsService需要一个实现.
请你澄清一些基本概念吗?
简短回答:
AuthenticationProvider以将您的自定义身份验证方案集成到Spring Security中.AccessDecisionVoter以将您的自定义授权方案集成到Spring Security中.您可能还需要AccessDecisionManager在某些特定情况下实现自定义,尽管捆绑的通常就足够了.请注意,这些都不是特定于Web的,与此相反AuthenticationEntryPoint,它是Spring Security Web的一部分,而不是Spring Security Core.主要功能AuthenticationEntryPoint是允许框架从应用程序服务器向Web客户端发送某种"访问此资源,您必须首先进行身份验证"通知.大多数标准通知已在Spring Security Web中实现.例如:
BasicAuthenticationEntryPoint:这与基本身份验证一起使用."通知"是HTTP 401响应.LoginUrlAuthenticationEntryPoint:您典型的"重定向到登录页面"行为.CasAuthenticationEntryPoint:与前者类似,重定向到企业范围的登录页面以通过CAS执行SSO .Http403ForbiddenEntryPoint:通知只是一个HTTP 403响应.当您使用预身份验证(例如客户端X.509证书)并且用户凭据不提供访问权限时,这非常有用.如您所见,除非您的所需行为过于具体,否则您不需要提供自己的实现AuthenticationEntryPoint.
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |