asp.net メンバーシップ認証に問題があります。メインの Web 構成を次のように構成しました。
<connectionStrings>
<add name="xxx" connectionString="Data Source=; Initial Catalog=; Integrated Security=;" providerName="System.Data.SqlClient" />
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer"
connectionString="Data Source=; Initial Catalog=; Integrated Security=;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<roleManager enabled="true" defaultProvider="MyProvider">
<providers>
<add name="MyProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="Devices"
applicationName="MembersTable" />
</providers>
</roleManager>
<membership defaultProvider="MyProvider">
<providers>
<add name="MyProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="" />
</providers>
</membership>
<authentication mode="Forms">
<forms loginUrl="Denied.aspx" name=".ASPXFORMSAUTH"/>
</authentication>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>`
そして指定されたフォルダで私の設定は次のようになります
<configuration>
<location>
<system.web>
<authorization>
<allow roles="role1"/>
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
しかし、ログイン後、フォルダーファイルにアクセスできず、メソッドでDenied.aspx
ユーザーを確認し、ページMembership.ValidateUser
を呼び出してページに戻りますResponse.Redirect
。これで十分ですか、それとも保護されたページをリクエストする別の方法が必要ですか
if (
Membership.ValidateUser(this.txtUsername.Text, this.txtPassword.Text))
{
Response.Redirect("/tempUser/Role1Page.aspx");
}
else {
Response.Redirect("Denied.aspx");
}