web-dev-qa-db-ja.com

Tridion UGCスパムフィルターを構成する正しい方法は何ですか? (。ネット)

Tridion UGC APIに基づいてスパムフィルターを実装しましたが、それを利用するようにUGCWebサービスを構成したいと思います。これまでのところ、サービスを介してコメントを追加するときにスパムフィルターが呼び出されていないようです。私の現在の構成は次のとおりです。

アセンブリDLLをWebサービスアプリケーションのbinディレクトリに配置しました。web.configファイルを編集して以下を追加しました。

<appSettings>
    <add key="Comment.SpamFilter.Implementation" value="UGCDemo.BadWordsFilter"/>
    <add key="Comment.SpamFilter.Assembly" value="SpamFilter.dll"/>
</appSettings

次のPowerShell出力からわかるように、実装クラスとアセンブリの名前を確認できます。

PS C:\inetpub\LiveCDService
> ls

    Directory: C:\inetpub\LiveCDService


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         5/28/2012   5:05 PM            bin
-a---         11/4/2011   3:38 PM        212 access_token.svc
-a---         11/4/2011   3:38 PM        323 Global.asax
-a---         11/4/2011   3:38 PM        138 linking.svc
-a---         11/4/2011   3:38 PM        198 odata.svc
-a---         5/28/2012   5:41 PM      11073 Web.config
-a---         5/28/2012   5:10 PM      11073 Web.config~


PS C:\inetpub\LiveCDService
> add-type -path .\bin\SpamFilter.dll
PS C:\inetpub\LiveCDService
> $foo = new-object UGCDemo.BadWordsFilter
PS C:\inetpub\LiveCDService
> $foo | gm


   TypeName: UGCDemo.BadWordsFilter

Name            MemberType Definition
----            ---------- ----------
Equals          Method     bool Equals(System.Object obj)
GetHashCode     Method     int GetHashCode()
GetType         Method     type GetType()
ToString        Method     string ToString()
ValidateComment Method     Tridion.ContentDelivery.UGC.Web.Model.Comment Valid

デバッグモードでログを記録していますが、スパムフィルターアセンブリまたは同様のもののロードに関連する可能性のある出力が表示されません。この機能を機能させるには、他にどのような構成変更が必要ですか?問題についてさらに発見するために、他にどのようなテストを適用できますか?

6
Dominic Cronin

問題は、SpamFilterをWebサービスにインストールしようとしていることだと思います。ドキュメントに記載されているように、SpamFilterはWebアプリケーションで構成する必要があります。

3-WebアプリケーションのルートフォルダーにあるUGCWebアプリケーションの構成ファイルweb.configを開いて、スパムフィルターを構成します。

6
Raúl Escudero

Raulは正しいです.... UGCのSpamFilterは、UGCWebサービスではなく実際のWebサイトで構成する必要があります。 SpamFilterは、UGC WSへの呼び出しが行われる前に、UGCServerControlsによって呼び出されることに注意してください。詳細については 公式ドキュメント を確認してください

お役に立てれば。

4
sea_gull