SqlClientPermission.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //------------------------------------------------------------------------------
  2. // <copyright file="SqlClientPermission.cs" company="Microsoft">
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4. // </copyright>
  5. // <owner current="true" primary="true">[....]</owner>
  6. // <owner current="true" primary="false">[....]</owner>
  7. //------------------------------------------------------------------------------
  8. namespace System.Data.SqlClient {
  9. using System.Collections;
  10. using System.Data.Common;
  11. using System.Runtime.Serialization;
  12. using System.Security;
  13. using System.Security.Permissions;
  14. [Serializable]
  15. public sealed class SqlClientPermission : DBDataPermission {
  16. [ Obsolete("SqlClientPermission() has been deprecated. Use the SqlClientPermission(PermissionState.None) constructor. http://go.microsoft.com/fwlink/?linkid=14202", true) ] // MDAC 86034
  17. public SqlClientPermission() : this(PermissionState.None) {
  18. }
  19. public SqlClientPermission(PermissionState state) : base(state) {
  20. }
  21. [ Obsolete("SqlClientPermission(PermissionState state, Boolean allowBlankPassword) has been deprecated. Use the SqlClientPermission(PermissionState.None) constructor. http://go.microsoft.com/fwlink/?linkid=14202", true) ] // MDAC 86034
  22. public SqlClientPermission(PermissionState state, bool allowBlankPassword) : this(state) {
  23. AllowBlankPassword = allowBlankPassword;
  24. }
  25. private SqlClientPermission(SqlClientPermission permission) : base(permission) { // for Copy
  26. }
  27. internal SqlClientPermission(SqlClientPermissionAttribute permissionAttribute) : base(permissionAttribute) { // for CreatePermission
  28. }
  29. internal SqlClientPermission(SqlConnectionString constr) : base(constr) { // for Open
  30. if ((null == constr) || constr.IsEmpty) {
  31. base.Add(ADP.StrEmpty, ADP.StrEmpty, KeyRestrictionBehavior.AllowOnly);
  32. }
  33. }
  34. public override void Add(string connectionString, string restrictions, KeyRestrictionBehavior behavior) {
  35. DBConnectionString constr = new DBConnectionString(connectionString, restrictions, behavior, SqlConnectionString.GetParseSynonyms(), false);
  36. AddPermissionEntry(constr);
  37. }
  38. override public IPermission Copy () {
  39. return new SqlClientPermission(this);
  40. }
  41. }
  42. [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false )]
  43. [Serializable]
  44. public sealed class SqlClientPermissionAttribute : DBDataPermissionAttribute {
  45. public SqlClientPermissionAttribute(SecurityAction action) : base(action) {
  46. }
  47. override public IPermission CreatePermission() {
  48. return new SqlClientPermission(this);
  49. }
  50. }
  51. }