2012-05-25 2 views
0

에 쿼리 문자열과 위치 경로를 허용 내 Web.config의이이Web.config의

<location path="ChangePassword.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> </location> 
문제는 페이지의 작품에 액세스하는 동안, 나는뿐만 아니라의 QueryStrings이 페이지에 대한 액세스를 허용해야한다는 것입니다

, 이는 작동하지 않습니다?

  • ChangePassword.aspx 모드 =
  • ChangePassword.aspx 사용자 ID = XX & 모드 =

어떻게해야합니까? 매개 변수는 항상 동적 값을 가지며 web.config에는 하드 코드 ID가 없습니다. 문제

목적의 더 나은 이해를위한

편집 = 비 로그인 한 사용자는 수신 어떤의 QueryStrings와 ChangePassword.aspx 페이지에 액세스 할 수 있어야합니다.

비 로그인 한 사용자에 대한 문제 :

  • 그들은 사용자가 페이지에 액세스 할 수있는 경우 그들은 ChangePassword.aspx?parameter=value

답변

1

에 액세스 할 수 없습니다 ChangePassword.aspx

  • 에 액세스 할 수 있습니다, 그들은 쿼리 문자열을 추가 할 수 있습니다 경로로.

    인증 메커니즘은 파일 위치에서만 작동합니다. 쿼리 문자열 매개 변수에서 작동하도록 할 수는 없습니다.

    매개 변수에 따라 페이지 동작을 변경하려면 페이지 코드에서이를 수행해야합니다.

    당신은 쉽게 페이지의 쿼리 문자열 매개 변수에 액세스 할 수 있습니다

    Request.QueryString["UserId"] 
    
  • +0

    내가 설명을 이해하지 않는다 - 당신이 "페이지 행동"에 의해 무엇을 의미합니까? 나는이 페이지에서 사용자를 조작하기를 원합니다. 그래서 나는 querystring에서 userid를 전달합니다. –

    +0

    @AndreiCristof - "이 페이지에서 사용자를 조작하고 싶습니다." 나는 그것을 추측 했어야 했는가? 질문을 읽어주십시오. 정확히 "작동하지 않는"것은 무엇입니까? 쿼리 문자열의 매개 변수를 전달할 수 있습니다. 사용자가 페이지에 액세스 할 수 있으면 매개 변수도 함께 전달됩니다. 그들은 쫓겨나지 않을 것이다. 너는 실제로 어떤 어려움을 겪고 있는가? – Oded

    +0

    나는 신중하게 질문을 다시 읽었으며 분명히 공식화했다고 생각합니다. ChangePassword.aspx에 로그인하지 않은 사용자로 액세스하면 작동합니다. ChangePassword.aspx? parameter = value에 로그인하지 않은 사용자로 액세스하면 그 사용자는 그렇지 않습니다. –