//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.Globalization;
using System.IO;
using System.Text;
using System.Security.Principal;
using System.Web.Util;
using System.ComponentModel;
using System.Security.Permissions;
/*
*/
///
/// Adds Authorization specific information to this section.
///
///
public sealed class AuthorizationSection : ConfigurationSection {
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propRules =
new ConfigurationProperty(null, typeof(AuthorizationRuleCollection), null, ConfigurationPropertyOptions.IsDefaultCollection);
private bool _EveryoneAllowed = false;
internal bool EveryoneAllowed { get { return _EveryoneAllowed; } }
static AuthorizationSection() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propRules);
}
public AuthorizationSection() {
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("", IsDefaultCollection = true)]
public AuthorizationRuleCollection Rules {
get {
return (AuthorizationRuleCollection)base[_propRules];
}
}
protected override void PostDeserialize() {
if (Rules.Count > 0) {
_EveryoneAllowed = (Rules[0].Action == AuthorizationRuleAction.Allow && Rules[0].Everyone);
}
}
internal bool IsUserAllowed(IPrincipal user, String verb) {
return Rules.IsUserAllowed(user, verb);
}
} // class AuthorizationSection
}