Guest User

Untitled

a guest
Mar 16th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.90 KB | None | 0 0
  1. //Subgroup WebAgent
  2. [Flags]
  3. public enum WebAgentPermission : long
  4. {
  5. [DescriptionAttribute("View Rule Group")]
  6. ViewRuleGroup = 1,
  7. [DescriptionAttribute("Add Rule Group")]
  8. AddRuleGroup = 2,
  9. [DescriptionAttribute("Edit Rule Group")]
  10. EditRuleGroup = 4,
  11. [DescriptionAttribute("Delete Rule Group")]
  12. DeleteRuleGroup = 8,
  13. [DescriptionAttribute("View Rule")]
  14. ViewRule = 16,
  15. [DescriptionAttribute("Add Rule")]
  16. AddRule = 32,
  17. [DescriptionAttribute("Edit Rule")]
  18. EditRule = 64,
  19. [DescriptionAttribute("Delete Rule")]
  20. DeleteRule = 128,
  21. [DescriptionAttribute("View Location")]
  22. ViewLocation = 256,
  23. [DescriptionAttribute("Add Location")]
  24. AddLocation = 512,
  25. [DescriptionAttribute("Edit Location")]
  26. EditLocation = 1024,
  27. [DescriptionAttribute("Delete Location")]
  28. DeleteLocation = 2048,
  29. [DescriptionAttribute("View Volume Statistics")]
  30. ViewVolumeStatistics = 4096,
  31. [DescriptionAttribute("Edit Volume Statistics")]
  32. EditVolumeStatistics = 8192,
  33. [DescriptionAttribute("Upload Volume Statistics")]
  34. UploadVolumeStatistics = 16384,
  35. [DescriptionAttribute("View Role")]
  36. ViewRole = 32768,
  37. [DescriptionAttribute("Add Role")]
  38. AddRole = 65536,
  39. [DescriptionAttribute("Edit Role")]
  40. EditRole = 131072,
  41. [DescriptionAttribute("Delete Role")]
  42. DeleteRole = 262144,
  43. [DescriptionAttribute("View User")]
  44. ViewUser = 524288,
  45. [DescriptionAttribute("Add User")]
  46. AddUser = 1048576,
  47. [DescriptionAttribute("Edit User")]
  48. EditUser = 2097152,
  49. [DescriptionAttribute("Delete User")]
  50. DeleteUser = 4194304,
  51. [DescriptionAttribute("Assign Permissions To User")]
  52. AssignPermissionsToUser = 8388608,
  53. [DescriptionAttribute("Change User Password")]
  54. ChangeUserPassword = 16777216,
  55. [DescriptionAttribute("View Audit Logs")]
  56. ViewAuditLogs = 33554432,
  57. [DescriptionAttribute("View Team")]
  58. ViewTeam = 67108864,
  59. [DescriptionAttribute("Add Team")]
  60. AddTeam = 134217728,
  61. [DescriptionAttribute("Edit Team")]
  62. EditTeam = 268435456,
  63. [DescriptionAttribute("Delete Team")]
  64. DeleteTeam = 536870912,
  65. [DescriptionAttribute("View Web Agent Reports")]
  66. ViewWebAgentReports = 1073741824,
  67. [DescriptionAttribute("View All Locations")]
  68. ViewAllLocations = 2147483648,
  69. [DescriptionAttribute("Access to My Search")]
  70. AccessToMySearch = 4294967296,
  71. [DescriptionAttribute("Access to Pespective Search")]
  72. AccessToPespectiveSearch = 8589934592,
  73. [DescriptionAttribute("Add Pespective Search")]
  74. AddPespectiveSearch = 17179869184,
  75. [DescriptionAttribute("Edit Pespective Search")]
  76. EditPespectiveSearch = 34359738368,
  77. [DescriptionAttribute("Delete Pespective Search")]
  78. DeletePespectiveSearch = 68719476736,
  79. [DescriptionAttribute("Access to Search")]
  80. AccessToSearch = 137438953472,
  81. [DescriptionAttribute("View Form Roles")]
  82. ViewFormRole = 274877906944,
  83. [DescriptionAttribute("Add / Edit Form Roles")]
  84. AddFormRole = 549755813888,
  85. [DescriptionAttribute("Delete UserFormRolesDifferenceMasks")]
  86. DeleteFormRole = 1099511627776,
  87. [DescriptionAttribute("Export Locations")]
  88. ExportLocations = 2199023255552,
  89. [DescriptionAttribute("Import Locations")]
  90. ImportLocations = 4398046511104,
  91. [DescriptionAttribute("Manage Location Levels")]
  92. ManageLocationLevels = 8796093022208,
  93. [DescriptionAttribute("View Job Title")]
  94. ViewJobTitle = 17592186044416,
  95. [DescriptionAttribute("Add Job Title")]
  96. AddJobTitle = 35184372088832,
  97. [DescriptionAttribute("Edit Job Title")]
  98. EditJobTitle = 70368744177664,
  99. [DescriptionAttribute("Delete Job Title")]
  100. DeleteJobTitle = 140737488355328,
  101. [DescriptionAttribute("View Dictionary Manager")]
  102. ViewDictionaryManager = 281474976710656,
  103. [DescriptionAttribute("Add Dictionary Manager")]
  104. AddDictionaryManager = 562949953421312,
  105. [DescriptionAttribute("Edit Dictionary Manager")]
  106. EditDictionaryManager = 1125899906842624,
  107. [DescriptionAttribute("Delete Dictionary Manager")]
  108. DeleteDictionaryManager = 2251799813685248,
  109. [DescriptionAttribute("View Choice Manager")]
  110. ViewChoiceManager = 4503599627370496,
  111. [DescriptionAttribute("Add Choice Manager")]
  112. AddChoiceManager = 9007199254740992,
  113. [DescriptionAttribute("Edit Chioce Manager")]
  114. EditChoiceManager = 18014398509481984,
  115. [DescriptionAttribute("Delete Choice Manager")]
  116. DeleteChoiceManager = 36028797018963968,
  117. [DescriptionAttribute("Import Export Choices")] //57
  118. ImportExportChoices = 72057594037927936
  119. }
  120.  
  121. [Flags]
  122. public enum Permissions
  123. {
  124. View = 1,
  125. Add = 2,
  126. Edit = 4,
  127. Delete = 8
  128. }
  129.  
  130. class WebAgentPermissions
  131. {
  132. public Permissions RuleGroup { get; set; }
  133. public Permissions Rule{ get; set; }
  134. public Permissions Location{ get; set; }
  135. // and so on...
  136. }
  137.  
  138. public sealed class WebAgentPermission
  139. {
  140. private long ID;
  141.  
  142. public static readonly WebAgentPermission
  143. ViewRuleGroup = new WebAgentPermission { ID = 1 };
  144. public static readonly WebAgentPermission
  145. AddRuleGroup = new WebAgentPermission { ID = 2 };
  146.  
  147. private WebAgentPermission() { }
  148.  
  149. // considerations: override equals/gethashcode, probably override tostring,
  150. // maybe implicit cast to/from long, maybe other stuff
  151. }
  152.  
  153. Permissions perms = agent.GetPermissions(ResourceType.User);
  154. if((perms & Permissions.View) == Permissions.View) { /* do work */ }
  155.  
  156. Permissions perms = agent.Permissions[ResourceType.User];
  157. if((perms & Permissions.View) == Permissions.View) { /* do work */ }
  158.  
  159. if(agent.IsAuthorized(ResourceType.User, Permissions.View)) { /* do work */ }
  160.  
  161. RuleGroupPermission
  162. None = 0
  163. ViewRuleGroup = 1,
  164. AddRuleGroup = 2,
  165. EditRuleGroup = 4,
  166. DeleteRuleGroup = 8,
  167.  
  168. LocationOperations
  169. None = 0
  170. Add = 1
  171. View = 2
  172. Delete = 4
  173.  
  174. void setPermission(RuleGroupPermission ruleGroupOpsAllowed, LocationOperations locationOptions)
  175. {
  176. ...
  177. }
  178.  
  179. public enum MyEnumType : Int64
Add Comment
Please, Sign In to add comment