spring security
lichuangcsdn
这个作者很懒,什么都没留下…
展开
-
spring security如果未登录,返回JSON数据
默认情况下,spring security如果检测到未登录,会返回一个登录页面。对于前后端分离的项目,我们一般是希望能返回自定义的JSON数据。这时候,就需要继承类LoginUrlAuthenticationEntryPoint,并重写其public void commence(HttpServletRequest request, HttpServletResponse response,...原创 2019-07-08 00:30:03 · 8830 阅读 · 5 评论 -
spring security自定义权限拦截FilterInvocationSecurityMetadataSource
一般情况下,我们如果需要自定义权限拦截,则需要涉及到FilterInvocationSecurityMetadataSource这个接口了。这里有个坑爹的地方。如果用户未登录,但是已经设置了拦截白名单的URL,仍然会进入到权限验证里面来。起初,我以为不会进来,但后来跟踪源代码发现,还是会进来。只是此时的身份是一个匿名用户。其默认的实现为DefaultFilterInvocationSecuri...原创 2019-07-08 00:43:31 · 22583 阅读 · 8 评论 -
spring boot整合spring security(自定义验证方式)
spring security支持传统的查询数据库方式,也即根据用户名查询出用户信息,然后再比较前端传来的密码和数据库中的密码。这种方式很常用。但不适合通过第三方进行的授权认证模式。这时候,我们需要自己处理登录验证过程。针对这些情况,我们需要自定义Authentication Provider@Componentpublic class CustomAuthenticationPr...原创 2019-07-03 01:05:01 · 2607 阅读 · 0 评论 -
spring boot整合spring security(前后端分离时的json登录方式,解决获取不到用户名密码问题)
如果是自己验证用户名密码的话,spring security仅仅支持传统的form表单方式(form-data)登录。这是一个比较大的坑点。现在都流行使用前后端分离,前端发送的是json格式数据。下面我谈下如何操作。通过跟踪源代码,可以知道,获取用户名密码是在UsernamePasswordAuthenticationFilter这个类里面的attemptAuthentication方法,如下...原创 2019-07-06 23:13:01 · 9855 阅读 · 2 评论