1

これはweb.configにあります

  <location path="ChangePassword.aspx">
     <system.web>
       <authorization>
         <allow users="*"/>
       </authorization>
     </system.web>   </location>

問題は、ページへのアクセスが機能している間、クエリ文字列を使用してこのページへのアクセスを許可する必要があることです。これは機能しません。

  • ChangePassword.aspx?mode =
  • ChangePassword.aspx?userid = xx&mode =

どうやってやるの?もちろん、パラメーターには常に動的な値があります。web.configにIDをハードコーディングすることはできません。

問題をよりよく理解するために編集する

目的=ログに記録されていないユーザーは、受け取ったクエリ文字列を使用してChangePassword.aspxページにアクセスできる必要があります。

ログに記録されていないユーザーの問題:

  • 彼らはアクセスできますChangePassword.aspx
  • 彼らはアクセスできませんChangePassword.aspx?parameter=value
4

2 に答える 2

0

ユーザーがページにアクセスできる場合は、パスにクエリ文字列を追加できます。

承認メカニズムはファイルの場所でのみ動作します。クエリ文字列パラメータで動作させることはできません。

パラメータに従ってページの動作を変更する場合は、ページコードで変更する必要があります。

ページ上のクエリ文字列パラメータに簡単にアクセスできます。

Request.QueryString["UserId"]
于 2012-05-25T17:21:15.760 に答える
0

問題はweb.configにはありません。タグに関する設定は正しいです。問題はリンクです

ChangePassword.aspx?Userid=xx&mode=

ページへの正しいルーティングを許可しない文字は「」です。

適切なXmlエンコーディングを使用して記述されていることを確認してください(他の方法では、すべての「&」文字が「&」に置き換えられます)。

これはうまくいくはずです:

ChangePassword.aspx?Userid=xx&amp;mode=

またはあなたは使用することができます

System.Web.HttpUtility.HtmlEncode(yourUrl);

お役に立てば幸いです;)

于 2018-08-29T13:07:44.363 に答える