如何在项目中获取不安全页面的URL?

时间:2012-05-09 11:24:33

标签: symfony-1.4

我想在我的symfony1.4项目中编写一个程序,它可以返回/给出不安全页面的url,我该怎么写呢?

我使用凭据保护了操作,并且我使用了sfDoctrineGuard来保护安全。

如果用户未获得任何页面的授权,则该页面会显示来自sfwebresponse的401代码。

我为每一个动作都提供了凭据。我的第一个问题是

  1. 现在我该如何测试操作是否安全。
  2. 我想生成一个报告,其中包含每个网址和相应的网址是否受到保护?
  3. 我的routing.yml如下:

    annual_performance_appraisal_details:
      class: sfDoctrineRouteCollection
      options:
        model:                AnnualPerformanceAppraisalDetails
        module:               AnnualPerformanceAppraisalDetails
        prefix_path:          /AnnualPerformanceAppraisalDetails
        column:               id
        with_wildcard_routes: true
    
    annual_performance_appraisal:
      class: sfDoctrineRouteCollection
      options:
        model:                AnnualPerformanceAppraisal
        module:               AnnualPerformanceAppraisal
        prefix_path:          /AnnualPerformanceAppraisal
        column:               id
        with_wildcard_routes: true
    
    apa_question_answer:
      class: sfDoctrineRouteCollection
      options:
        model:                ApaQuestionAnswer
        module:               ApaQuestionAnswer
        prefix_path:          /ApaQuestionAnswer
        column:               id
        with_wildcard_routes: true
    

    在我的第二个问题中,我想要一份如下报告:

    网址:..... / AnnualPerformanceAppraisalDetails
    安全报告:401(需要实施)

    网址:..... / AnnualPerformanceAppraisal
    SecurityReport:401(需要Athorization)或403 Forbidden

1 个答案:

答案 0 :(得分:0)

关于1 您可以查看网页的状态代码。您需要一个明确的网址列表进行测试。

您可以写下这样的内容:

$secured_urls=array('default/index','myModule/index',...);
foreach ($secured_urls as $url) {
    $browser->get($url)
        ->with('response')
        ->begin()
        ->isStatusCode(401)
        ->end();
}

大约2 您是否尝试从测试结果中构建该报告?