IIS FTP 7.5 التسعة (IFTPlogProvider وتسجيل فشل FTP إلى سجل الأحداث)

StackOverflow https://stackoverflow.com/questions/2032198

  •  19-09-2019
  •  | 
  •  

سؤال

أي شخص على دراية بروتوكول نقل الملفات 7.5 في IIS يعرف ما قد أفعله خطأ؟

أواجه مشكلة خطيرة في الحصول على تنفيذ iftplogProvider للعمل بشكل صحيح لتسجيل مخصص. كل ما أريد القيام به هو فشل تسجيل فشل خارج عتبة ثابتة لسجل الأحداث، والحصول على مجموعة من القمامة في كثير من الأحيان. لقد حاولت العمل مع قاموس عام والمزود بدون حظ، والآن حتى هذا القليل البسيط لا يمكنني الحصول على العمل. لا يخلق المزود حتى إنشاء سجل الأحداث في كعب الرموز أدناه (أو استخدامه إذا قمت بإنشائه مسبقا). حتى الآن أنا مرتبك للغاية.

أتابع الإرشادات لتسجيل الجمعية بعد توقيعها من داخل VS ويمكنني تأكيد أنه تمت إضافته إلى GAC. إضافة إلى IIS 7.5 عبر خيار التسجيل، يبدو أن خيار مقدمي الخدمات المخصصين على ما يرام أيضا.

سيكون موضع تقدير أي مساعدة في اقتراحات محددة، حتى مع مجموعة ممتازة من البرامج التعليمية من قبل روبرت ميموراي، ما زلت أحظى بهذه القضايا. أقوم بتشغيل هذا في صندوق R2 لعام 2008، بالمناسبة، باستخدام واجهة للحصول على التعليمات البرمجية المدارة.

كعب أدناه:

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration.Provider;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Diagnostics.Eventing;
using System.Text;
using Microsoft.Web.FtpServer;
using System.IO;

public class test: BaseProvider, IFtpLogProvider
{

    void IFtpLogProvider.Log(FtpLogEntry loggingParameters)
    {
        if (!EventLog.SourceExists("TEST"))
        {
            EventLog.CreateEventSource("TEST", "TEST");
        }

        // Just trying to get anything into this log, like a list of
        // USER attempts or something
        EventLog.WriteEntry("TEST", loggingParameters.Command);

    }

    // Mark an IP address for banning.
    private void BanAddress(string ipAddress)
    {
        EventLog.WriteEntry("TEST", ipAddress, EventLogEntryType.Warning, 9010);
    }
}
هل كانت مفيدة؟

المحلول

كان لدي القضايا التالية:

1) كان لدي اسم فئة غير صحيحة في تسجيلي لهذه الجمعية في IIS:

ftplogging.ftplogdemo، ftploggingdemo.، الإصدار = 1.0.0.0، الثقافة = محايد، publickeytoken =

2) لم أكن بعناية اتبع نصيحة روبرت عند تسجيل الجمعية. تركت مربع الاختيار تم التحقق منه، ويحتفظ بهذا كوفر مصادقة، وهو عينة رمز هذا ليس كذلك. أنا بدلا من ذلك ترك مصادقة أساسية ممكنة، مصادقة مجهولة المعطلة (في حالتي)، و لم يتم التحقق منه المربع المذكور في البرنامج التعليمي - "مسح خانة الاختيار FTPloggingDemo في قائمة مقدمي الخدمات".

3) لم أكن أستخدم AppCMD (أو تعديل القسم المناسب في ApplicationHost.config مباشرة) لتحديث قسم مقدمي الخدمات المخصصين في ApplicationHost.config

<customFeatures>
    <providers>
        <add name="FtpLoggingDemo" enabled="true" />
    </providers>
</customFeatures>

القيام بهذه الأشياء الثلاثة الثابتة المشكلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top