当前位置: 首页 > 面试题库 >

具有可变URL用户ID的antMatchers Spring Security模式

樊飞飙
2023-03-14
问题内容

我一直在寻找答案,但是找不到任何有效果的东西

在我的休息服务中,我在/ account / {id} / download下保留了一些功能,我想在SecurityConfig
java文件中设置acces ROLE,只有ROLE_TOKENSAVED用户可以访问此URL。

当{id}可更改时,模式应如何显示?

我尝试了一些正则表达式模式,但没有按我希望的那样工作,这是我的一些尝试:

1. antMatchers("account/**/download").access(somerolehere)
2. antMatchers("account/\\d/download").access(somerolehere)
3. antMatchers("account/[\\d]/download").access(somerolehere)

在此先感谢您的回答:)

编辑:

    @Override
    protected void configure(HttpSecurity http) throws Exception {            
        http.authorizeRequests()
                .antMatchers("/admin**").access("hasRole('ROLE_ADMIN')")
                .antMatchers("/account*//**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')")
                .antMatchers("/account/\\d+/download").access("hasRole('ROLE_TOKENSAVED')")
                .antMatchers("/user**").permitAll()
                //othercode...
    }

问题答案:

这对我有用:

antMatchers("/account/{\\d+}/download").access("hasAnyAuthority('ROLE_TOKENSAVED')")

请注意,代表ID的path变量周围的花括号。



 类似资料:
  • 对于将SFINAE与可变模板类一起使用,我似乎找不到一个好的解决方案。 假设我有一个不喜欢引用的可变参数模板对象: 以及一个类,可以方便地检查参数包是否包含引用: 我如何使用它来专门化NoRef的情况下,引用存在于arg包?

  • 我创建一个简单的应用程序与用户,文章和优惠。现在用户可以创建文章并提供给该文章。所以用户有很多文章,有很多优惠,文章属于用户,有很多优惠,提供物品给用户和文章...所以我写: at用户模型: 在文章范本中: 在报价模式中,我写道: 但现在我有一个问题,如何在OffersController中创建store()函数-我尝试: 但我得到错误: 此外,我的表格代码是: 我的路线是: 如何添加报价和报价需

  • 问题内容: 假设我有一个任务要从java.util.concurrent.BlockingQueue中提取元素并进行处理。 如果可以动态更改频率,我该如何安排/重新安排任务? 想法是获取数据更新流并将其批量传播到GUI 用户应该能够更改更新频率 问题答案: 我认为您无法更改固定速率的延迟。我认为您需要使用schedule()执行一次操作,并在完成后再次计划(如果需要,可以更改超时)。

  • 开发一个只使用API的Rails应用程序来使用来自API的数据,过滤掉许多字段,然后广播我们想要公开的字段。 我的应用程序正常返回数据,但我意识到在源API级别,我们更改了我们公开的数据字段之一的数据类型。为了适应,我提交了我的工作,签出了一个新分支,运行迁移以更改数据字段的数据类型,决定对它的工作方式不满意,回滚了迁移,提交并签出了主分支。应用程序正常返回数据。但是,现在当我使用诸如、等查找方法

  • 我正在努力使我的网站更加SEO友好,我目前正在使用 将转换为 我还想将其用于子页面。我试过这个: 但是它不工作,它运行,但是当您转到时,它返回未找到的404。 我希望它运行并返回 或 site.co.uk/page_name/sub_page并返回sub_page 等等等等

  • 问题内容: 我试图弄清楚如何在C扩展模块中具有一个函数的变量(也许有很多)参数。 阅读有关PyArg_ParseTuple的内容,您似乎必须知道要接受多少,一些强制性的和一些可选的,但都具有自己的变量。我希望PyArg_UnpackTuple能够处理此问题,但是当我尝试以似乎错误的方式使用它时,它似乎只会给我总线错误。 举个例子,将以下可能要放入扩展模块中的python代码(用C语言编写)。 这可