Spring 学习十四 Spring security安全
Spring security:
我用过的安全机制: oauth2, filter, secured方法保护
9.2 保护web请求:
9.2.1 代理Servlet过滤器:
DelegatingFilterProxy: 作用: 用户认证授权/统计web访问量/日志功能 / 数据压缩 / 对数据进行加密 / XML文件的XSLT转换。
9.2.2 配置最小的web安全行:
配置拦截URL请求<intercept-url> 的pattern 属性可以根据用户权限限制对URL的访问。
通过用户名/密码进行认证: 2种方式: A:表单(基于浏览器的) B: Rest ful (移动端的应用)
9.2.3 拦截请求: <intercept-url>
可以使用安全性表达式: hasIpAddress() / isAnonymous() / denyAll / autheritcation()
强制使用HTTPS:(加密发送) <intercept-url> 的requires-channel属性指定 https
9. 3 保护视图级别的元素: ???????
9.3.1 访问认证信息的细节
9.3.2 根据权限渲染
9.4 认证用户:
9.4.1 配置内存用户存储库: 在Spring配置中声明用户的详细信息。 用Spring Security XML 命名空间的<user-service> 来实现。装配给<authentication-provider> 的 user-service-ref
9.4.2 基于数据库进行认证: 用户信息存储在数据库中, 用 <jdbc-user-service>
9.4.3 基于LDAP进行认证: LDAP 擅长存储层级结构的数据。
9.4.4 启用remember-me功能: 只要登陆一次 就能记住你。(在cookie中存储用户的信息)
9.5 保护方法调用:
9.5.1 使用 @Secured注解保护方法调用: controller的方法前面加上 @Secured(“ROLE_SPITTER”),表示只有这个权限的用户才可以访问方法。
9.5.2 使用 @RolesAllowed 注解: 和@Secured 类似。
9.5.3 使用SpEL 实现调用前后的安全行:
9.5.4 声明方法级别的安全行切点:
<