0

この質問のバリエーションはこれまで何度も聞かれたことがあると思いますが、答えを見つけることができません。

私はオンラインショップであるウェブサイトを持っています。以下のログイン/アカウント管理要件があります。

ログインするAdminロールのメンバー/AdminにログインするProロールのメンバー/ProにログインするProロールのメンバーCustomerロールのメンバーには、ログインする特定の領域がありませんが、チェックアウト時にログインできるようにして、ログインできるようにします。配信の詳細を再度入力する必要はありません。

したがって、URL構造は次のようになります。

/Checkout.aspx(/ loginフォーム)/Admin/Login.aspx /Pro/Login.aspx(ここでの唯一のわずかな例外は、ユーザーがログに記録されずに/Pro/Register.aspxページにアクセスできるようにすることです。で-明らかな理由で)

これは、メインのweb.configから認証構成を削除し、proフォルダーとadminフォルダーのそれぞれにweb.configファイルを作成した場合に可能であると読みました。IIS 7で、フォルダーをアプリケーションに変更しましたが、ページがメインサイトからマスターページにアクセスできませんでした。

私はそれを正しい方法で行っていますか?

前もって感謝します。

アル

4

2 に答える 2

0

フォルダをアプリケーションに変更する必要がある理由はわかりませんが、各子ディレクトリに「sub」web.configファイルを作成するという戦略は、これを実現する正しい方法の1つです。

もう1つの方法は、以下の例(ここから)のように、各ページまたはディレクトリのルートweb.configでアクセス許可を宣言することです。

<configuration>
    <system.web>
        <authentication mode="Forms" >
            <forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" >
            </forms>
        </authentication>
<!-- This section denies access to all files in this application except for those that you have not explicitly specified by using another setting. -->
        <authorization>
            <deny users="?" /> 
        </authorization>
    </system.web>
<!-- This section gives the unauthenticated user access to the Default1.aspx page only. It is located in the same folder as this configuration file. -->
        <location path="default1.aspx">
        <system.web>
        <authorization>
            <allow users ="*" />
        </authorization>
        </system.web>
        </location>
<!-- This section gives the unauthenticated user access to all of the files that are stored in the Subdir1 folder.  -->
        <location path="subdir1">
        <system.web>
        <authorization>
            <allow users ="*" />
        </authorization>
        </system.web>
        </location>
</configuration>
于 2011-06-22T15:46:27.967 に答える
0

新しいアプリケーションを作成しないでください。サブフォルダーのweb.configを、フォルダーにアクセスできるようにする役割のみを許可する認証とともに含めるだけです。

于 2011-06-22T15:47:48.097 に答える