Click here to Skip to main content
12,888,335 members (50,807 online)
Click here to Skip to main content


51 bookmarked
Posted 13 May 2008

Secure Persistent ASP.NET Forms Authentication

, 27 Aug 2008 LGPL3
An ASP.NET system for having two authentication cookies, one secure and one insecure, to have multiple tiers of security by folder.
' Copyright (c) 2008 Pathfinder Software, LLC.  All Rights Reserved.
' Pathfinder Software <>
' PartialAuthenticationSystem is distributed under the terms of the GNU Lesser General Public License (GPL)

' PartialAuthenticationSystem is free software: you can redistribute it and/or modify
' it under the terms of the GNU Lesser General Public License as published by
' the Free Software Foundation, either version 3 of the License, or
' (at your option) any later version.

' PartialAuthenticationSystem is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' GNU Lesser General Public License for more details.

' You should have received a copy of the GNU Lesser General Public License
' along with PartialAuthenticationSystem.  If not, see <>.

Imports System.Configuration
Imports System.Web.Configuration

Public Class PartialAuthenticationSection
    Inherits ConfigurationSection

    Private Shared _initialized As Boolean
    Private Shared _properties As New ConfigurationPropertyCollection()
    Private Shared _propName As New ConfigurationProperty("name", GetType(String), ".ASPXIDENTITY")
    Private Shared _propTimeout As New ConfigurationProperty("timeout", GetType(Integer), 172800)
    Private Shared _propRequireSSL As New ConfigurationProperty("requireSSL", GetType(Boolean), False)

    Protected Overrides ReadOnly Property Properties() As System.Configuration.ConfigurationPropertyCollection
            If Not _initialized Then
            End If

            Return _properties
        End Get
    End Property

    <ConfigurationProperty("name", DefaultValue:=".ASPXIDENTITY")> _
    Public Property Name() As String
            Return Item(_propName)
        End Get
        Set(ByVal value As String)
            Item(_propName) = value
        End Set
    End Property

    <ConfigurationProperty("timeout", DefaultValue:=172800)> _
    Public Property Timeout() As Integer
            Return Item(_propTimeout)
        End Get
        Set(ByVal value As Integer)
            Item(_propTimeout) = value
        End Set
    End Property

    <ConfigurationProperty("requireSSL", DefaultValue:=False)> _
    Public Property RequireSSL() As Boolean
            Return Item(_propRequireSSL)
        End Get
        Set(ByVal value As Boolean)
            Item(_propRequireSSL) = value
        End Set
    End Property

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.


This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)


About the Author

Software Developer (Senior) Pathfinder Software
United States United States
No Biography provided

You may also be interested in...

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170424.1 | Last Updated 27 Aug 2008
Article Copyright 2008 by BrantBurnett
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid