//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//------------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Security.Principal;
using System.Web;
using System.Web.Compilation;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.Util;
using System.Xml;
using System.Security.Permissions;
/*
*/
public sealed class WebPartsSection : ConfigurationSection {
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propEnableExport =
new ConfigurationProperty("enableExport",
typeof(bool),
false,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propPersonalization =
new ConfigurationProperty("personalization",
typeof(WebPartsPersonalization),
null,
ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propTransformers =
new ConfigurationProperty("transformers",
typeof(TransformerInfoCollection),
null,
ConfigurationPropertyOptions.IsDefaultCollection);
static WebPartsSection() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propEnableExport);
_properties.Add(_propPersonalization);
_properties.Add(_propTransformers);
}
public WebPartsSection() {
}
/*
protected override void InitializeDefault()
{
/* Don't Add to Basicmap
AuthorizationRule rule0 = new AuthorizationRule(AuthorizationRuleAction.Deny);
rule0.Users.Add("*");
rule0.Verbs.Add("enterSharedScope");
Personalization.Authorization.Rules.Add(rule0);
AuthorizationRule rule1 = new AuthorizationRule(AuthorizationRuleAction.Allow);
rule1.Users.Add("*");
rule1.Verbs.Add("modifyState");
Personalization.Authorization.Rules.Add(rule1);
*/
/* }
*/
[ConfigurationProperty("enableExport", DefaultValue = false)]
public bool EnableExport {
get {
return (bool)base[_propEnableExport];
}
set {
base[_propEnableExport] = value;
}
}
[ConfigurationProperty("personalization")]
public WebPartsPersonalization Personalization {
get {
return (WebPartsPersonalization)base[_propPersonalization];
}
}
///
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("transformers")]
public TransformerInfoCollection Transformers {
get {
return (TransformerInfoCollection)base[_propTransformers];
}
}
protected override object GetRuntimeObject() {
Personalization.ValidateAuthorization();
return base.GetRuntimeObject();
}
}
}