分享

Spring Security教程外篇(2)

 wayne_liberary 2014-07-27

 intercept-url中access配置

IS_AUTHENTICATED_ANONYMOUSLY 允许匿名用户进入

IS_AUTHENTICATED_FULLY 允许登录用户进入

IS_AUTHENTICATED_REMEMBERED 允许登录用户和rememberMe用户进入

支持表达式

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <sec:http auto-config="true" access-decision-manager-ref="accessDecisionManager"  
  2.         use-expressions="true">  

表达式在access中要写成hasRole(xxx),如果access中任然写ROLE_USER这中形式的话会报下面的错误

Unsupported configuration attributes: [AUTH_GG_FBGBGG, AUTH_GG_FBGBGG]


目前Spring已经不提供下载地址都是Maven地址,但从Spring的Maven仓库中还可以下载到

仓库地址 http://maven./

Spring下载:http://maven./release/org/springframework/spring/

SpringData:http://maven./release/org/springframework/data/

SpringSecurity:http://maven./release/org/springframework/security/


如何获取到Session中的UserDeatils;

在页面中可以使用

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <p>用户名:<sec:authentication property="name"/> </p>  
  2. <p>用户名:<sec:authentication property="principal.username"/> </p>  
  3. <p>用户姓名:<sec:authentication property="principal.name"/> </p>  
  4. <p>用户名:${SPRING_SECURITY_CONTEXT.authentication.principal.username}</p>  
  5. <p>用户姓名:${SPRING_SECURITY_CONTEXT.authentication.principal.name} </p>  
principal为UserDeatils,在el表达式中不能直接通过name字段来获取用户名即

${SPRING_SECURITY_CONTEXT.authentication.name}是错误的

在后台程序中可以通过SecurityContextHolder来获取

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. UserDetails user = (UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约