Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / RoleGroup.cs / 1305376 / RoleGroup.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Security.Principal;
using System.Web.Security;
///
/// Associates a collection of roles with a template.
///
public sealed class RoleGroup {
private ITemplate _contentTemplate;
private string[] _roles;
///
/// The template associated with the roles.
///
[
Browsable(false),
DefaultValue(null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(LoginView)),
]
public ITemplate ContentTemplate {
get {
return _contentTemplate;
}
set {
_contentTemplate = value;
}
}
///
/// The roles associated with the template.
///
[
TypeConverterAttribute(typeof(StringArrayConverter)),
]
public string[] Roles {
get {
if (_roles == null) {
return new string[0];
}
else {
// Must clone to preserve encapsulation
return (string[]) _roles.Clone();
}
}
set {
if (value == null) {
_roles = value;
}
else {
// Must clone to preserve encapsulation
_roles = (string[]) value.Clone();
}
}
}
///
/// Whether the user is in any of the roles.
///
public bool ContainsUser(IPrincipal user) {
if (user == null) {
throw new ArgumentNullException("user");
}
if (_roles == null) {
return false;
}
foreach (string role in _roles) {
if (user.IsInRole(role)) {
return true;
}
}
return false;
}
///
/// For appearance in designer collection editor.
///
public override string ToString() {
StringArrayConverter converter = new StringArrayConverter();
return converter.ConvertToString(Roles);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Security.Principal;
using System.Web.Security;
///
/// Associates a collection of roles with a template.
///
public sealed class RoleGroup {
private ITemplate _contentTemplate;
private string[] _roles;
///
/// The template associated with the roles.
///
[
Browsable(false),
DefaultValue(null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(LoginView)),
]
public ITemplate ContentTemplate {
get {
return _contentTemplate;
}
set {
_contentTemplate = value;
}
}
///
/// The roles associated with the template.
///
[
TypeConverterAttribute(typeof(StringArrayConverter)),
]
public string[] Roles {
get {
if (_roles == null) {
return new string[0];
}
else {
// Must clone to preserve encapsulation
return (string[]) _roles.Clone();
}
}
set {
if (value == null) {
_roles = value;
}
else {
// Must clone to preserve encapsulation
_roles = (string[]) value.Clone();
}
}
}
///
/// Whether the user is in any of the roles.
///
public bool ContainsUser(IPrincipal user) {
if (user == null) {
throw new ArgumentNullException("user");
}
if (_roles == null) {
return false;
}
foreach (string role in _roles) {
if (user.IsInRole(role)) {
return true;
}
}
return false;
}
///
/// For appearance in designer collection editor.
///
public override string ToString() {
StringArrayConverter converter = new StringArrayConverter();
return converter.ConvertToString(Roles);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WSSecureConversationDec2005.cs
- baseshape.cs
- Focus.cs
- XmlBufferReader.cs
- Block.cs
- TraceEventCache.cs
- DataGridState.cs
- ScrollItemPattern.cs
- ArraySubsetEnumerator.cs
- PropertyPushdownHelper.cs
- NullableIntAverageAggregationOperator.cs
- SendDesigner.xaml.cs
- SystemTcpConnection.cs
- ComponentEditorForm.cs
- SByteStorage.cs
- RbTree.cs
- ParameterReplacerVisitor.cs
- BrowserCapabilitiesFactoryBase.cs
- SubqueryRules.cs
- _CommandStream.cs
- DynamicControlParameter.cs
- DebugHandleTracker.cs
- DiscardableAttribute.cs
- StrokeNodeOperations2.cs
- RuleSettingsCollection.cs
- RowUpdatedEventArgs.cs
- GridViewEditEventArgs.cs
- ConfigurationSettings.cs
- AnnouncementSendsAsyncResult.cs
- NumericPagerField.cs
- EntityDataSourceColumn.cs
- ThicknessConverter.cs
- XmlTextReader.cs
- SQLBytesStorage.cs
- listitem.cs
- DetailsViewInsertedEventArgs.cs
- RotateTransform3D.cs
- WebPartDisplayModeEventArgs.cs
- SoapAttributeAttribute.cs
- WebRequestModulesSection.cs
- DbCommandDefinition.cs
- StaticExtension.cs
- Visual3D.cs
- BasePattern.cs
- MessageQueueKey.cs
- BindingCollection.cs
- ParseChildrenAsPropertiesAttribute.cs
- AbandonedMutexException.cs
- ArraySubsetEnumerator.cs
- OdbcParameterCollection.cs
- ToolStripMenuItem.cs
- BitmapInitialize.cs
- InternalConfigRoot.cs
- CommandValueSerializer.cs
- Listen.cs
- SiteMapNodeCollection.cs
- DynamicRenderer.cs
- _TransmitFileOverlappedAsyncResult.cs
- DataGridViewAdvancedBorderStyle.cs
- NameValueFileSectionHandler.cs
- DelayedRegex.cs
- _AcceptOverlappedAsyncResult.cs
- HwndMouseInputProvider.cs
- SchemaContext.cs
- SiteMapDataSourceView.cs
- Container.cs
- SqlCharStream.cs
- MouseActionValueSerializer.cs
- ListViewTableCell.cs
- ServiceProviders.cs
- LocalizabilityAttribute.cs
- EastAsianLunisolarCalendar.cs
- mediaeventargs.cs
- HttpBrowserCapabilitiesBase.cs
- GroupedContextMenuStrip.cs
- SqlFileStream.cs
- RtfFormatStack.cs
- InternalPermissions.cs
- VisualTreeHelper.cs
- IntegerValidator.cs
- CroppedBitmap.cs
- BreakRecordTable.cs
- HandoffBehavior.cs
- CqlParserHelpers.cs
- TdsEnums.cs
- SizeConverter.cs
- X509Chain.cs
- XmlCharacterData.cs
- ToolStripControlHost.cs
- BaseCollection.cs
- EntityConnection.cs
- Hashtable.cs
- CompressStream.cs
- ReadWriteObjectLock.cs
- LogLogRecordHeader.cs
- MetadataUtilsSmi.cs
- Exceptions.cs
- Events.cs
- Stack.cs
- NameScope.cs