0

ftp 経由で asp.net Web サイトを手動で公開しましたが、すべて正常に動作します (ログイン、登録など)。たとえば、管理者専用に作成されたページに通常のユーザーがアクセスできます。

これが私のweb.configです:

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="MyConnStrg" connectionString="provider details..etc.."
      providerName="System.Data.SqlClient" />
  </connectionStrings>
    <system.web>
      <roleManager enabled="true" defaultProvider="MyWebsiteTC">
        <providers>
          <add name="MyWebsiteTC"
          type="System.Web.Security.SqlRoleProvider"
          applicationName="/"
          connectionStringName="MyConnStrg" />
        </providers>
      </roleManager>
      <membership defaultProvider="MyWebsiteTCMembershipProvider">
        <providers>
          <add name="MyWebsiteTCMembershipProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="MyConnStrg"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          applicationName="/"
          requiresUniqueEmail="true"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="5"
          minRequiredPasswordLength="7"
          minRequiredNonalphanumericCharacters="1"
          passwordAttemptWindow="10"
          passwordStrengthRegularExpression=""/>
        </providers>
      </membership>

      <compilation debug="true" targetFramework="4.0" />
      <authentication mode="Forms">
        <forms name=".KKDS"
          timeout="30"
          slidingExpiration="true"
          cookieless="UseCookies"
          defaultUrl="~/Default.aspx"
       />
      </authentication>
    </system.web>
</configuration>

管理ファイルは、次の web.config を含むフォルダーにあります。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <customErrors mode="Off"/>
    <authorization>
      <allow roles="Client" />
      <deny users="?"/>
    </authorization>

  </system.web>
</configuration>

ユーザーごとにロールが追加されましたが、すべて正常に機能しますが、ロール認証は機能しません。私に何ができる?

4

2 に答える 2

0

私はそれがそうであるべきだと信じています:

 <authorization>
    <allow roles="Client" />
    <deny users="*"/>
 </authorization>

ロールのユーザーを許可し、他のユーザーをClient拒否するためです(スニペットのように、ログインしていないユーザーを拒否するのではなく)。

于 2012-07-21T21:07:36.200 に答える
0

Wiktor Zychla は良い提案をしました。あなたがサイトを公開する前にサイトが機能していた場合、問題ApplicationNameApplicationName. これを見て...

.net メンバーシップ プロバイダーを使用して開発から製品に移行する

于 2012-07-22T03:09:29.640 に答える