0

VisualStudioでWebサイトを構築しています。最初はすべて問題なく、すべてのWebページ間を移動できました。ログインページを作成するために、このチュートリアル(http://csharpdotnetfreak.blogspot.com/2011/12/createuserwizard-email-verification.html )に従いました。

確認メールを自分のメールアドレスに送信できましたが、リンクが機能せず、常にエラー400-不正なリクエストが発生します。

私の問題は、現在、どのWebページにもアクセスできないことです。web.configファイルに別のページを設定した場合でも(認証中)、常にlogin.aspxページに移動します。他のページをスタートページとして設定しようとしました(プロジェクトエクスプローラーを右クリックして)。

Webページを開こうとすると、エラー404が発生し、アドレスバーのアドレスがlocalhost49171 / login.aspx?Returnur%2fdefault.aspx%3fに変わります。

誰かが解決策を持っていますか?

前もって感謝します、

リロン

4

2 に答える 2

0

returnurlは、IISがdefault.aspxを読み込もうとしているが、Webサイトのセキュリティ設定にはログインが必要であることを示しています。したがって、login.aspxにリダイレクトされます。

于 2012-08-02T00:02:10.107 に答える
0

web.configを確認した後、ログに記録した後、Webサイトのすべてのページに移動してアクセスできる限り、あなたが説明している動作は私が期待するものです。ログイン後もログインページにリダイレクトされる場合は、他の設定が間違っています。

web.configのconfiguration/web.config / authentication要素は、サイト全体の許可ルールを指定するために使用されます。

<configuration>
  <web.config>
    <authorization>
      <deny users="?"  /> <!-- deny un-authenticated access, everyone not logged in that is -->
      <allow users="*"   /> <!-- allow everyone else -->
    </authorization>
  </web.config>
</configuration>

誰でもアクセスできるようにする必要のあるリソースがある場合は、configuration / location / system.web/authorization要素を使用してそのリソースの承認ルールを変更できます。

<configuration>
  <location path="SomeUnprotectedResource.aspx">
    <authorization>
      <allow users="*" /> <!-- anyone can view this page -->
    </authorization>
  </location>
</configuration>

サイト全体のルールよりもページへのアクセスをさらに制限するために必要なリソースがある場合もあります。

<configuration>
  <location path="OnlyForMe.aspx">
    <authorization>
      <allow users="Me" /> <!-- only the user Me can view this page -->
      <deny users="*" /> <!-- deny everyone else -->
    </authorization>
  </location>
</configuration>

補足として、ASP.NETリソースだけでなくすべてのWebサイトリソース(つまり、*。css、*。js)を保護するようにIISを設定している場合は、それらへのアクセスを許可するルールを追加する必要があります。たとえば、ログインページの外部にJavaScriptとスタイリングがある場合、それらが機能するにはスタイリングとスクリプトが必要になる可能性があります。

<configuration>
  <location path="styles/login.css">
    <authorization>
      <allow users="*" />
    </authorization>
  </location>
  <location path="scripts/login.js">
    <authorization>
      <allow users="*" />
    </authorization>
  </location>
</configuration>
于 2012-08-06T19:46:07.393 に答える