Changeset 1624
- Timestamp:
- 04/22/09 18:20:46 (16 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Security.Contracts/3.2/BusinessObjects/Permission.cs
r1384 r1624 32 32 public String Description { get; set; } 33 33 34 [DataMember]35 public Guid EntityId { get; set; }36 34 } 37 35 } -
trunk/sources/HeuristicLab.Security.Contracts/3.2/BusinessObjects/PermissionOwner.cs
r1384 r1624 32 32 public string Name { get; set; } 33 33 34 [DataMember] 35 public Guid EntityId { get; set; } 36 } 34 } 37 35 } -
trunk/sources/HeuristicLab.Security.Contracts/3.2/Interfaces/ISecurityManager.cs
r1520 r1624 20 20 21 21 [OperationContract] 22 ICollection<User> GetAllUsers(); 23 24 [OperationContract] 25 User GetUserByName(string name); 26 27 [OperationContract] 22 28 UserGroup AddNewUserGroup(UserGroup group); 23 29 24 30 [OperationContract] 25 bool RemoveUserGroup( UserGroup group);31 bool RemoveUserGroup(Guid userGroupId); 26 32 27 33 [OperationContract] … … 29 35 30 36 [OperationContract] 31 bool AddPermissionOwnerToGroup(UserGroup userGroup, PermissionOwner permissionOwner);37 ICollection<UserGroup> GetAllUserGroups(); 32 38 33 39 [OperationContract] 34 bool RemovePermissionOwnerFromGroup(UserGroup userGroup, PermissionOwner permissionOwner);40 UserGroup GetUserGroupByName(string name); 35 41 36 42 [OperationContract] 37 bool GrantPermission(PermissionOwner permissionOwner, Permission permission);43 PermissionOwner UpdatePermissionOwner(PermissionOwner permissionOwner); 38 44 39 45 [OperationContract] 40 bool RevokePermission(PermissionOwner permissionOwner, Permission permission); 46 bool AddPermissionOwnerToGroup(Guid userGroupId, Guid permissionOwnerId); 47 48 [OperationContract] 49 bool RemovePermissionOwnerFromGroup(Guid userGroupId, Guid permissionOwnerId); 50 51 [OperationContract] 52 bool GrantPermission(Guid permissionOwnerId, Guid permissionId, Guid entityId); 53 54 [OperationContract] 55 Permission GetPermissionById(Guid permissionId); 56 57 [OperationContract] 58 bool RevokePermission(Guid permissionOwnerId, Guid permissionId, Guid entityId); 41 59 } 42 60 } -
trunk/sources/HeuristicLab.Security.Core/3.2/HeuristicLab.Security.Core-3.2.csproj
r1534 r1624 46 46 </ItemGroup> 47 47 <ItemGroup> 48 <Compile Include="PermissionManager.cs" /> 48 49 <Compile Include="SecurityCorePlugin.cs" /> 49 50 <Compile Include="Properties\AssemblyInfo.cs" /> 51 <Compile Include="SecurityManager.cs" /> 50 52 </ItemGroup> 51 53 <ItemGroup> 54 <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.2\HeuristicLab.DataAccess-3.2.csproj"> 55 <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project> 56 <Name>HeuristicLab.DataAccess-3.2</Name> 57 </ProjectReference> 52 58 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj"> 53 59 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project> -
trunk/sources/HeuristicLab.Security.Core/3.2/SecurityManager.cs
r1530 r1624 7 7 using HeuristicLab.Security.DataAccess; 8 8 using HeuristicLab.PluginInfrastructure; 9 using HeuristicLab.DataAccess.Interfaces; 9 10 10 11 namespace HeuristicLab.Security.Core { 11 12 public class SecurityManager : ISecurityManager { 12 13 13 private static DiscoveryService discoveryService = 14 new DiscoveryService(); 15 16 private static IUserAdapter userAdapter = discoveryService.GetInstances<IUserAdapter>()[0]; 17 private static IUserGroupAdapter userGroupAdapter = discoveryService.GetInstances<IUserGroupAdapter>()[0]; 18 private static IPermissionOwnerAdapter permOwnerAdapter = discoveryService.GetInstances<IPermissionOwnerAdapter>()[0]; 19 private static IPermissionAdapter permissionAdapter = discoveryService.GetInstances<IPermissionAdapter>()[0]; 20 14 private static ISessionFactory factory = (new DiscoveryService()).GetInstances<ISessionFactory>()[0]; 15 16 private ISession session; 17 18 /// <summary> 19 /// Add new user. 20 /// </summary> 21 /// <param name="user"></param> 22 /// <returns></returns> 21 23 public User AddNewUser(User user) { 22 userAdapter.Update(user); 23 return user; 24 } 25 24 try { 25 session = factory.GetSessionForCurrentThread(); 26 27 IUserAdapter userAdapter = session.GetDataAdapter<User, IUserAdapter>(); 28 if (user != null) 29 userAdapter.Update(user); 30 31 return user; 32 } 33 finally { 34 if (session != null) 35 session.EndSession(); 36 } 37 } 38 39 /// <summary> 40 /// Update user. 41 /// </summary> 42 /// <param name="user"></param> 43 /// <returns></returns> 26 44 public User UpdateUser(User user) { 27 userAdapter.Update(user); 28 return user; 29 } 30 45 try { 46 session = factory.GetSessionForCurrentThread(); 47 IUserAdapter userAdapter = session.GetDataAdapter<User, IUserAdapter>(); 48 49 if (user != null) 50 userAdapter.Update(user); 51 return user; 52 } 53 finally { 54 if (session != null) 55 session.EndSession(); 56 } 57 } 58 59 /// <summary> 60 /// Remove user. 61 /// </summary> 62 /// <param name="userId"></param> 63 /// <returns></returns> 31 64 public bool RemoveUser(Guid userId) { 32 User user = userAdapter.GetById(userId); 33 if ( user != null ) // do we check this ? 34 return userAdapter.Delete(user); 35 return false; 36 } 37 38 public UserGroup AddNewUserGroup(UserGroup group) { 39 userGroupAdapter.Update(group); 40 return group; 41 } 42 43 public UserGroup UpdateUserGroup(UserGroup group) { 44 userGroupAdapter.Update(group); 45 return group; 46 } 47 48 public bool RemoveUserGroup(Guid groupId) { 49 UserGroup userGroup = userGroupAdapter.GetById(groupId); 50 if (userGroup != null) 51 return userGroupAdapter.Delete(userGroup); 52 return false; 53 } 54 55 public bool AddPermissionOwnerToGroup(Guid groupId, Guid permissionOwnerId) { 56 UserGroup userGroup = userGroupAdapter.GetById(groupId); 57 PermissionOwner permissionOwner = permOwnerAdapter.GetById(permissionOwnerId); 58 userGroup.Members.Add(permissionOwner); 59 userGroupAdapter.Update(userGroup); 60 return true; 61 } 62 63 public bool RemovePermissionOwnerFromGroup(Guid groupId, Guid permissionOwnerId) { 64 UserGroup userGroup = userGroupAdapter.GetById(groupId); 65 PermissionOwner permissionOwner = permOwnerAdapter.GetById(permissionOwnerId); 66 userGroup.Members.Add(permissionOwner); 67 userGroupAdapter.Delete(userGroup); 68 return true; 69 } 70 65 try { 66 session = factory.GetSessionForCurrentThread(); 67 IUserAdapter userAdapter = session.GetDataAdapter<User, IUserAdapter>(); 68 User user = userAdapter.GetById(userId); 69 70 if (user != null) 71 return userAdapter.Delete(user); 72 return false; 73 } 74 finally { 75 if (session != null) 76 session.EndSession(); 77 } 78 } 79 80 /// <summary> 81 /// Gets all Users. 82 /// </summary> 83 /// <returns></returns> 84 public ICollection<User> GetAllUsers() { 85 try { 86 session = factory.GetSessionForCurrentThread(); 87 IUserAdapter userAdapter = session.GetDataAdapter<User, IUserAdapter>(); 88 89 return userAdapter.GetAll(); 90 } 91 finally { 92 if (session != null) 93 session.EndSession(); 94 } 95 } 96 97 /// <summary> 98 /// Gets user by name. 99 /// </summary> 100 /// <param name="name"></param> 101 /// <returns></returns> 102 public User GetUserByName(string name) { 103 try { 104 session = factory.GetSessionForCurrentThread(); 105 IUserAdapter userAdapter = session.GetDataAdapter<User, IUserAdapter>(); 106 107 return userAdapter.GetByName(name); 108 } 109 finally { 110 if (session != null) 111 session.EndSession(); 112 } 113 } 114 115 /// <summary> 116 /// Add new user group. 117 /// </summary> 118 /// <param name="group"></param> 119 /// <returns></returns> 120 public UserGroup AddNewUserGroup(UserGroup userGroup) { 121 try { 122 session = factory.GetSessionForCurrentThread(); 123 124 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 125 if (userGroup != null) 126 userGroupAdapter.Update(userGroup); 127 128 return userGroup; 129 } 130 finally { 131 if (session != null) 132 session.EndSession(); 133 } 134 } 135 136 /// <summary> 137 /// Update user group. 138 /// </summary> 139 /// <param name="group"></param> 140 /// <returns></returns> 141 public UserGroup UpdateUserGroup(UserGroup userGroup) { 142 try { 143 session = factory.GetSessionForCurrentThread(); 144 145 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 146 if (userGroup != null) 147 userGroupAdapter.Update(userGroup); 148 149 return userGroup; 150 } 151 finally { 152 if (session != null) 153 session.EndSession(); 154 } 155 } 156 157 /// <summary> 158 /// Remove user group. 159 /// </summary> 160 /// <param name="groupId"></param> 161 /// <returns></returns> 162 public bool RemoveUserGroup(Guid userGroupId) { 163 try { 164 session = factory.GetSessionForCurrentThread(); 165 166 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 167 UserGroup userGroup = userGroupAdapter.GetById(userGroupId); 168 169 if (userGroup != null) 170 return userGroupAdapter.Delete(userGroup); 171 return false; 172 } 173 finally { 174 if (session != null) 175 session.EndSession(); 176 } 177 } 178 179 /// <summary> 180 /// Gets all UserGroups. 181 /// </summary> 182 /// <returns></returns> 183 public ICollection<UserGroup> GetAllUserGroups() { 184 try { 185 session = factory.GetSessionForCurrentThread(); 186 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 187 188 return userGroupAdapter.GetAll(); 189 } 190 finally { 191 if (session != null) 192 session.EndSession(); 193 } 194 } 195 196 /// <summary> 197 /// Gets UserGroup by name. 198 /// </summary> 199 /// <param name="name"></param> 200 /// <returns></returns> 201 public UserGroup GetUserGroupByName(string name) { 202 try { 203 session = factory.GetSessionForCurrentThread(); 204 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 205 206 return userGroupAdapter.GetByName(name); 207 } 208 finally { 209 if (session != null) 210 session.EndSession(); 211 } 212 } 213 214 /// <summary> 215 /// Updates a PermissionOwner. 216 /// </summary> 217 /// <param name="permissionOwner"></param> 218 /// <returns></returns> 219 public PermissionOwner UpdatePermissionOwner(PermissionOwner permissionOwner) { 220 try { 221 session = factory.GetSessionForCurrentThread(); 222 223 IPermissionOwnerAdapter permOwnerAdapter = session.GetDataAdapter<PermissionOwner, IPermissionOwnerAdapter>(); 224 if (permissionOwner != null) 225 permOwnerAdapter.Update(permissionOwner); 226 227 return permissionOwner; 228 } 229 finally { 230 if (session != null) 231 session.EndSession(); 232 } 233 } 234 235 /// <summary> 236 /// Add permission owner to group. 237 /// </summary> 238 /// <param name="userGroupId"></param> 239 /// <param name="permissionOwnerId"></param> 240 /// <returns></returns> 241 public bool AddPermissionOwnerToGroup(Guid userGroupId, Guid permissionOwnerId) { 242 try { 243 session = factory.GetSessionForCurrentThread(); 244 ITransaction transaction = session.BeginTransaction(); 245 246 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 247 UserGroup userGroup = userGroupAdapter.GetById(userGroupId); 248 249 IPermissionOwnerAdapter permOwnerAdapter = session.GetDataAdapter<PermissionOwner, IPermissionOwnerAdapter>(); 250 PermissionOwner permissionOwner = permOwnerAdapter.GetById(permissionOwnerId); 251 252 if ((userGroup != null) && (permissionOwner != null)) { 253 userGroup.Members.Add(permissionOwner); 254 userGroupAdapter.Update(userGroup); 255 transaction.Commit(); 256 return true; 257 } 258 return false; 259 } 260 finally { 261 if (session != null) 262 session.EndSession(); 263 } 264 } 265 266 267 /// <summary> 268 /// Remove permission owner from group. 269 /// </summary> 270 /// <param name="groupId"></param> 271 /// <param name="permissionOwnerId"></param> 272 /// <returns></returns> 273 public bool RemovePermissionOwnerFromGroup(Guid userGroupId, Guid permissionOwnerId) { 274 try { 275 session = factory.GetSessionForCurrentThread(); 276 ITransaction transaction = session.BeginTransaction(); 277 278 IUserGroupAdapter userGroupAdapter = session.GetDataAdapter<UserGroup, IUserGroupAdapter>(); 279 UserGroup userGroup = userGroupAdapter.GetById(userGroupId); 280 281 IPermissionOwnerAdapter permOwnerAdapter = session.GetDataAdapter<PermissionOwner, IPermissionOwnerAdapter>(); 282 PermissionOwner permissionOwner = permOwnerAdapter.GetById(permissionOwnerId); 283 284 if ((userGroup != null) && (permissionOwner != null)) { 285 userGroup.Members.Add(permissionOwner); 286 userGroupAdapter.Delete(userGroup); 287 transaction.Commit(); 288 return true; 289 } 290 return false; 291 } 292 finally { 293 if (session != null) 294 session.EndSession(); 295 } 296 } 297 298 /// <summary> 299 /// Grant permission. 300 /// </summary> 301 /// <param name="permissionOwnerId"></param> 302 /// <param name="permissionId"></param> 303 /// <param name="entityId"></param> 304 /// <returns></returns> 71 305 public bool GrantPermission(Guid permissionOwnerId, Guid permissionId, Guid entityId) { 72 return permissionAdapter.addPermission(permissionOwnerId, permissionId, entityId); 73 } 74 306 try { 307 session = factory.GetSessionForCurrentThread(); 308 IPermissionAdapter permissionAdapter = session.GetDataAdapter<Permission, IPermissionAdapter>(); 309 310 return permissionAdapter.grantPermission(permissionOwnerId, permissionId, entityId); 311 } 312 finally { 313 if (session != null) 314 session.EndSession(); 315 } 316 } 317 318 /// <summary> 319 /// Gets Permission by ID. 320 /// </summary> 321 /// <param name="permissionId"></param> 322 /// <returns></returns> 323 public Permission GetPermissionById(Guid permissionId) { 324 try { 325 session = factory.GetSessionForCurrentThread(); 326 327 IPermissionAdapter permissionAdapter = session.GetDataAdapter<Permission, IPermissionAdapter>(); 328 return permissionAdapter.GetById(permissionId); 329 } 330 finally { 331 if (session != null) 332 session.EndSession(); 333 } 334 } 335 336 /// <summary> 337 /// Revoke permission. 338 /// </summary> 339 /// <param name="permissionOwnerId"></param> 340 /// <param name="permissionId"></param> 341 /// <param name="entityId"></param> 342 /// <returns></returns> 75 343 public bool RevokePermission(Guid permissionOwnerId, Guid permissionId, Guid entityId) { 76 return permissionAdapter.removePermission(permissionOwnerId, permissionId, entityId); 344 try { 345 session = factory.GetSessionForCurrentThread(); 346 IPermissionAdapter permissionAdapter = session.GetDataAdapter<Permission, IPermissionAdapter>(); 347 348 return permissionAdapter.revokePermission(permissionOwnerId, permissionId, entityId); 349 } 350 finally { 351 if (session != null) 352 session.EndSession(); 353 } 77 354 } 78 355 -
trunk/sources/HeuristicLab.Security.DataAccess/3.2/IPermissionAdapter.cs
r1530 r1624 38 38 /// <param name="entityId"></param> 39 39 /// <returns></returns> 40 GrantedPermission getPermission(PermissionOwner permissionOwner, Permission permission );40 GrantedPermission getPermission(PermissionOwner permissionOwner, Permission permission, Guid entityId); 41 41 42 42 /// <summary> … … 47 47 /// <param name="entityId"></param> 48 48 /// <returns></returns> 49 bool addPermission(PermissionOwner permissionOwner, Permission permission);49 bool grantPermission(Guid permissionOwnerId, Guid permissionId, Guid entityId); 50 50 51 51 /// <summary> … … 56 56 /// <param name="entityId"></param> 57 57 /// <returns></returns> 58 bool re movePermission(PermissionOwner permissionOwner, Permission permission);58 bool revokePermission(Guid permissionOwnerId, Guid permissionId, Guid entityId); 59 59 } 60 60 }
Note: See TracChangeset
for help on using the changeset viewer.