| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //------------------------------------------------------------------------------
- // <copyright file="DBDataPermissionAttribute.cs" company="Microsoft">
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- // <owner current="true" primary="true">Microsoft</owner>
- // <owner current="true" primary="false">Microsoft</owner>
- //------------------------------------------------------------------------------
- namespace System.Data.Common {
- using System.ComponentModel;
- using System.Data.Common;
- using System.Diagnostics;
- using System.Security;
- using System.Security.Permissions;
- /* derived class pattern
- [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false )]
- [Serializable] sealed public class XPermissionAttribute : DBDataPermissionAttribute {
- public XPermissionAttribute(SecurityAction action) : base(action) {
- }
- override public IPermission CreatePermission() {
- return new XPermission(this);
- }
- }
- */
- [Serializable(), AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false )]
- public abstract class DBDataPermissionAttribute : CodeAccessSecurityAttribute { // V1.0.3300
- private bool _allowBlankPassword;// = false;
- private string _connectionString;// = ADP.StrEmpty;
- private string _restrictions;// = ADP.StrEmpty;
- private KeyRestrictionBehavior _behavior;// = KeyRestrictionBehavior.AllowOnly;
- protected DBDataPermissionAttribute(SecurityAction action) : base(action) {
- }
- public bool AllowBlankPassword { // V1.0.3300
- get {
- return _allowBlankPassword;
- }
- set {
- _allowBlankPassword = value;
- }
- }
- public string ConnectionString { // V1.0.5000
- get {
- string value = _connectionString;
- return ((null != value) ? value : String.Empty);
- }
- set {
- _connectionString = value;
- }
- }
- public KeyRestrictionBehavior KeyRestrictionBehavior { // V1.0.5000, default AllowOnly
- get {
- return _behavior;
- }
- set {
- switch(value) {
- case KeyRestrictionBehavior.PreventUsage:
- case KeyRestrictionBehavior.AllowOnly:
- _behavior = value;
- break;
- default:
- throw ADP.InvalidKeyRestrictionBehavior(value);
- }
- }
- }
- public string KeyRestrictions { // V1.0.5000
- get {
- string value = _restrictions;
- return (null != value) ? value : ADP.StrEmpty;
- }
- set {
- _restrictions = value;
- }
- }
- [ EditorBrowsableAttribute(EditorBrowsableState.Never) ]
- public bool ShouldSerializeConnectionString() { // V1.2.3300
- return (null != _connectionString);
- }
- [ EditorBrowsableAttribute(EditorBrowsableState.Never) ]
- public bool ShouldSerializeKeyRestrictions() { // V1.2.3300
- return (null != _restrictions);
- }
- }
- }
|