zoukankan      html  css  js  c++  java
  • Spring Data Integration

    Spring Security提供了Spring数据集成,允许在查询中引用当前用户。将用户包括在查询中以支持分页结果不仅有用,而且是必要的,因为之后过滤结果将不会扩展。

    38. Spring Data & Spring Security Configuration

    要使用这种支持,请提供一个类型为SecurityEvaluationContextExtension的bean。在Java配置中,这看起来像:

    1 @Bean
    2 public SecurityEvaluationContextExtension securityEvaluationContextExtension() {
    3     return new SecurityEvaluationContextExtension();
    4 }

    xml配置如下:

    1 <bean class="org.springframework.security.data.repository.query.SecurityEvaluationContextExtension"/>

    39. Security Expressions within @Query

    现在可以在您的查询中使用Spring Security了。例如:

    1 @Repository
    2 public interface MessageRepository extends PagingAndSortingRepository<Message,Long> {
    3     @Query("select m from Message m where m.to.id = ?#{ principal?.id }")
    4     Page<Message> findInbox(Pageable pageable);
    5 }

    这将检查 Authentication.getPrincipal().getId() 等于邮件的收件人。请注意,此示例假设您已经将主体自定义为具有id属性的对象。通过公开安全性评估上下文扩展SecurityEvaluationContextExtension bean,所有通用安全性表达式都可以在查询中使用。

  • 相关阅读:
    Python文件相关的操作
    Python运算符
    字符串方法
    Python列表的增删改查和元祖
    压测
    jmeter相关使用
    charles的使用
    接口测试
    编程珠玑之关键字(1)--《c语言深度剖析》整理(转)
    循环单链表操作(转)
  • 原文地址:https://www.cnblogs.com/jrkl/p/13510254.html
Copyright © 2011-2022 走看看