昨天在公司测试spring security,在controller里边发现SecurityContextHolder.getContext().getAuthentication()始终为null,百思不得其解,google上查半天也没解决,这样那样的说法都有,回家后继续google,结果有一阵不知搜什么词语了不让继续访问了,只好用百度,别说真找到答案了,头一次百度在技术搜索战胜了google,下面是解决方案地址,不多说了:
http://blog.csdn.net/jjk_02027/article/details/6544889
http://www.oschina.net/question/230429_51547
http://stackoverflow.com/questions/7573899/retrieve-spring-securitys-authentication-even-on-public-pages-with-filter-non/7574241#7574241
关键就是要把filters="none" 变化为相应的权限如access="permitAll"(必须设置<http auto-config="true" use-expressions="true">,否则会提示permitAll找不到),或者access = "IS_AUTHENTICATED_ANONYMOUSLY, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED"
,当然security 3.1是要修改<http pattern="/login" security="none"/>这类的
相关推荐
spring security可以通过SecurityContextHolder.getContext().getAuthentication().getPrincipal()获取到当前用户信息。 而spring oauth2通过SecurityContextHolder.getContext().getAuthentication().getPrincipal...
5.2.1. SecurityContextHolder, SecurityContext 和 Authentication对象 5.2.1.1. 获得当前用户的信息 5.2.2. UserDetailsService 5.2.3. GrantedAuthority 5.2.4. 小结 5.3. 验证 5.3.1. 什么是Spring ...
5.2.1. SecurityContextHolder, SecurityContext 和 Authentication对象 5.2.1.1. 获得当前用户的信息 5.2.2. UserDetailsService 5.2.3. GrantedAuthority 5.2.4. 小结 5.3. 验证 5.3.1. 什么是Spring ...
者以这一版本的文档为参考。 另:Spring Security 从2010-01-01 以后,版本控制从SVN 换成了GIT,我们在翻译文档的 时候,主要是根据SVN 的变化来进行文档内容的比对,这次换成GIT 后,感觉缺少了之前 那种...
23.4.1为什么同源? 185 23.4.2 Spring WebSocket允许的来源 186 23.4.3添加CSRF到Stomp头 186 23.4.4在WebSockets中禁用CSRF 187 23.5使用SockJS 187 23.5.1 SockJS和框架选项 187 23.5.2轻松放松CSRF 188 第五部分...
获取当前用户的信息getAuthentication()返回了认证信息,再次getPrincipal()返回了身份信息,UserDetails便是Spring对身份信息封装的一个接口。Authentication和UserDetails的介绍在下面的小节具体讲解,本节重要的...
警告 此应用程序只是一个演示,并不安全。 有关详情,请参见下文。 概述 一个示例应用程序,显示了如何允许外部系统通过Spring Security进行身份验证。... SecurityContextHolder是发现当前用户是什么的中心
springboot_springsecurity_jwt_demo
主要给大家介绍了关于在Spring Boot2中使用CompletableFuture的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧