2

を使用Umbraco 7する内部ユーザーとロールでの使用方法BackOfficeおよびカスタム ユーザーとロール (外部からSQL database取得されます。 umbraco バックオフィスにログインしたい umbraco ユーザーをそのまま使用し、別のログインで 外部ユーザーを使用したい。すでに web.config を変更しました

<add name="mynewMembershipProvider" type="mynewMembershipProvider, mynew" <add name="mynewrovider" type="mynewrsRoleProvider"/>

カスタムログインに移動すると、カスタムユーザーにログインできます。しかし、私がしようとすると

User.Identity.IsAuthenticated

また

User.IsInRole("xyz") umbraco は常に umbraco の役割を見ています。

私は何を間違っていましたか よろしくマイケル

4

1 に答える 1

4

私の理解が正しければ、あなたは CMS とバック オフィスユーザーをそのままにして、カスタム プロバイダーを使用してサイトの公開側でメンバーログインを許可したいですか?

既定のプロバイダーを新しいメンバーシップ プロバイダーに設定しましたか?

<membership defaultProvider="mynewMembershipProvider">
...
</membership>

メンバーシップ セクションのデフォルト プロバイダーは、公開メンバーに使用されているプロバイダーを常に指す必要がありますUsersMembershipProviderバックオフィスは、認証が必要になるたびに内部的に要求するため、デフォルトを変更してもまったく影響はありません。

設定によっては (私はこれを試していません)、<clear/>ディレクティブを含めなかった場合、元の Umbraco メンバー プロバイダーが問題を引き起こしている可能性もあります。

<membership>これは、私の Umbraco 7 インストールからのカスタム BCrypt ハッシュ プロバイダーを使用した完全な作業セクションです。

<membership defaultProvider="BCryptMembershipProvider" userIsOnlineTimeWindow="15">
    <providers>
        <clear />
        <add 
            name="BCryptMembershipProvider" 
            type="cFront.Web.Security.BCryptMembershipProvider" 
            connectionStringName="umbracoDbDSN" 
            requiresUniqueEmail="0"
        />
        <add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
    </providers>
</membership>
<roleManager enabled="true" defaultProvider="BCryptRoleProvider">
    <providers>
        <clear />
        <add name="BCryptRoleProvider" type="cFront.Web.Security.BCryptRoleProvider" 
            connectionStringName="umbracoDbDSN" 
            availableRoles="SuperUser,Administrator,Manager,User"
        />
    </providers>
</roleManager>
于 2014-06-10T09:31:41.630 に答える