2009-05-12 25 views
0

ログイン制御に問題があります。ログイン、秘密、登録と呼ばれる3ページがあります。ログインコントロールを使用して私の秘密ページを保護しました。私の秘密ページを要求すると、私は正しいログイン/パスワードを記入してください。それは秘密のページに私を導いてくれます。しかし、問題は、ここから私がregiserリンクをクリックすると、正しいenrty.ifを記入するまで登録ページには向いていません。今私はログインページに戻って、今すぐ登録ページに登録された登録リンクをクリックしてください。ログイン制御の問題

私は、Web構成ファイル内follwingコードを持っている...この点で私を助けてcontrol.please

をcreatetext、ログインのcreatetexturlプロパティを使用していました。

<roleManager enabled="true"/> 
    <authentication mode="Forms"/> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 

とソースファイルに次のよう......

<asp:Login ID="Login1" runat="server" 
    DestinationPageUrl="~/Secret.aspx" 
    CreateUserText="New User Register" 
    CreateUserUrl="~/register.aspx" 
    FailureText="You are not registered.....try agian.." /> 

答えて

1

は、あなただけの秘密のページ「確保」されていないように聞こえますが、また、レジスタページ。

あなたの質問に入力したコードは表示されません(コードを選択し、0と1のボタンをクリックする必要があります)が、web.configの設定セクションにこれを追加してみてください。

<location path="register.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 
+0

ウル応答のためにありがとう....ミスターjanzi は、私はこの1つを試してみましたが、そのが働いていません。 –

+0

あなたは間違いなく正しい経路を指定しましたか? Janziの答えは私に正しいもののように見える – RichardOD

0

アミット、

問題はあなたの許可設定であるかどうかを確認するには、一時的にこの試してみたいことがあります:すべてが<location path="register.aspx">がcorrect-であることは、このチェックの後に動作する場合は

<authorization> 
<allow users="*" /> 
</authorization> 

をサブフォルダにはありますか?

+0

このiit workinを使用していますが、今私はdircly秘密のページを開くことができます。私はしたくない。 –

+1

これで、認証の問題があることを確認しました。ここで、ロケーションパスの値を正しく設定する必要があります。 – RichardOD

0

うーん、今はコードを見ることができることを、私たちはあなたを助けることのよりよいチャンスを有する;)

あなたは限り言っていないが、私はあなたがすべての3つのファイルを持っていることを仮定している - 、ログイン登録と秘密は同じフォルダにありますか?

もしそうなら、あなたがこれを言っている: - これはJanziによって提案されたオプション「すべてのユーザーを許可する」場所をオーバーライドしている

<authorization> 
    <deny users="?"/> 
</authorization> 

は「すべての匿名ユーザーがこれらのページへのアクセスを拒否する」です。

次のいくつかを試してみてください。

//Folder structure 
web.config - Root Web.config 
Login.aspx - login page 
Register.aspx - registration page 
/Secret - Folder called "Secret" 
/web.config - web.config in "Secret" 
/Secret.aspx - secret pages 

web.configファイル/シークレットフォルダにだけ含まれている必要があります

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <deny users="?" /> 
     </authorization> 
    </system.web> 
</configuration> 

ルートweb.configファイルは、あなたのメンバーシッププロバイダーを定義しますが、定義されてフォーム認証などの設定

また、/ Secretのweb.configを削除して、ルートweb.config内のlocation要素を使用することもできます。

<location path="Secret"> 
    <system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
</location>