プロジェクトをIISにアップロードし、カスタムsqlmembershipプロバイダーを使用してロールとユーザーを作成しましたが、データを編集/削除/更新しようとすると、「それを行う権限がありません」と表示されますが、ロール内にはすでにありますそれができると定義します。さらに、VS ASP.NET 構成ツールを使用してユーザーとロールを追加していますが、テスト ボタン onAspNetSqlRoleProvider をクリックすると、データベースが見つからないことがわかります。VS ビルドイン サーバーでは正常に動作しますが、II をアップロードするとエラーが発生します。
これはweb.configの一部です
<system.web>
<roleManager enabled="true" />
<customErrors mode="RemoteOnly" defaultRedirect="~/Admin/Hata.aspx" />
<authentication mode="Forms">
<forms cookieless="AutoDetect" loginUrl="~/Login.aspx" />
</authentication>
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear/>
<!--Add a customized SqlMembershipProvider -->
<add name="MySqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="OSProjeConnectionString" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
passwordFormat="Hashed" maxInvalidPasswordAttempts="15" minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
passwordStrengthRegularExpression="">
</providers>
</membership>
<connectionStrings>
<add name="OSProjeConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=OSProje;Integrated Security=SSPI; User ID=sa;Password=password;" />
</connectionStrings>
……………………
編集:この行を追加して問題を修正します
<roleManager defaultProvider="roleProvider">
<providers>
<add connectionStringName="OSProjeConnectionString"
name="roleProvider"
type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>