【问题标题】:Symfony - how to deal with credentials that contain spaces in security.yml?Symfony - 如何处理 security.yml 中包含空格的凭据?
【发布时间】:2011-10-25 15:38:40
【问题描述】:

似乎是一个简单的问题,但我找不到合适的参考。

我的系统有一些权限,其中有空格:

contract admin

我需要保护一个动作,所以在 security.yml 我有:

action:
    is_secure:    on
    credentials:  contract admin

但是,它不起作用:拥有此权限的用户仍然会受到限制。

我尝试将凭据放在单引号和双引号以及方括号中, 但它总是失败。如果我将凭据更改为没有空格的凭据,它可以正常工作。

我也许可以重命名凭据,但最终我想知道这个问题的解决方案。

【问题讨论】:

    标签: symfony1 credentials sfguard


    【解决方案1】:
    action:
        is_secure:    on
        credentials:  "contract admin"
    

    应该工作

    【讨论】:

    • 抱歉,忽略了您说您尝试使用引号和括号的评论。它确实应该将其与引号一起处理并将其作为字符串处理。尝试调试 sfBasicSecurityUser.class.php 以了解可能失败的地方。
    【解决方案2】:
    action:
      credentials: [ "contract admin" ]
    

    试试这个。凭证应放在括号中。欲了解更多信息:

    action1:
      credentials: [ this, andThis ] # AND
    
    action2:
      credentials: [[ this, orThis ]] # OR
    

    【讨论】:

      【解决方案3】:

      我认为你需要这样使用它:

      //security.yml:
      
      your_module:
        is_secure: true
        credentials: [your_credential_name]
      

      【讨论】:

        猜你喜欢
        • 2011-12-22
        • 2016-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        • 2018-01-13
        • 2011-08-26
        • 2016-04-02
        相关资源
        最近更新 更多