Cookie. HTTPOnly в классическом ASP

Атрибуты являются своего рода метаданными для меток классов. Это часто используется в WinForms, например, для сокрытия средств управления от панели инструментов, но может быть реализовано в собственном приложении, чтобы позволить экземплярам различных классов вести себя в особенных методах.

Запускаются путем создания атрибута:

[AttributeUsage(AttributeTargets.Class, AllowMultiple=false, Inherited=true)]
public class SortOrderAttribute : Attribute
{
    public int SortOrder { get; set; }

    public SortOrderAttribute(int sortOrder)
    {
        this.SortOrder = sortOrder;
    }
}

Все классы атрибута должны иметь суффиксный "Атрибут", чтобы быть допустимыми.
После того, как это сделано, создайте класс, который использует атрибут.

[SortOrder(23)]
public class MyClass
{
    public MyClass()
    {
    }
}

Теперь можно проверить определенный класс SortOrderAttribute (если он имеет один) путем выполнения следующего:

public class MyInvestigatorClass
{
    public void InvestigateTheAttribute()
    {
        // Get the type object for the class that is using
        // the attribute.
        Type type = typeof(MyClass);

        // Get all custom attributes for the type.
        object[] attributes = type.GetCustomAttributes(
            typeof(SortOrderAttribute), true);

        // Now let's make sure that we got at least one attribute.
        if (attributes != null && attributes.Length > 0)
        {
            // Get the first attribute in the list of custom attributes
            // that is of the type "SortOrderAttribute". This should only
            // be one since we said "AllowMultiple=false".
            SortOrderAttribute attribute = 
                attributes[0] as SortOrderAttribute;

            // Now we can get the sort order for the class "MyClass".
            int sortOrder = attribute.SortOrder;
        }
    }
}

, Если Вы хотите читать больше об этом, можно всегда проверять MSDN, который имеет довольно хорошее описание.
я надеюсь, что это выручило Вас!

11
задан AnthonyWJones 29 June 2009 в 08:57
поделиться

1 ответ

Боюсь, что использование коллекции Response.Cookies не будет работать при настройке HttpOnly (это меня медленно сводило с ума!). Поскольку vbscript (по крайней мере, на сервере, на котором я тестирую) будет кодировать символ точки с запятой.

Вместо этого добавьте заголовок вручную, например:

Response.AddHeader "Set-Cookie", "YourCookieName=YourCookieValue; path=/; HttpOnly" 

Аналогичное сообщение о stackoverflow называется: Как именно вы настраиваете httpOnly Cookies в ASP Classic?

11
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: