public void GrantOn(DbObjectType objectType, ObjectName objectName, string grantee, Privileges privileges, bool withOption = false) { try { var granter = Session.User.Name; var grant = new Grant(privileges, objectName, objectType, grantee, granter, withOption); PrivilegeManager.Grant(grant); } finally { PrivilegesCache.Remove(new GrantCacheKey(grantee, objectType, objectName.FullName, withOption, false)); } }
public void Revoke(DbObjectType objectType, ObjectName objectName, string grantee, Privileges privileges, bool grantOption = false) { try { var revoker = Session.User.Name; var grant = new Grant(privileges, objectName, objectType, grantee, revoker, grantOption); SystemSession.Access().PrivilegeManager.Revoke(grant); } finally { var key = new GrantCacheKey(grantee, objectType, objectName.FullName, grantOption, false); PrivilegesCache.Remove(key); } }
private void RevokeAllGrantsFrom(string grantee) { var grants = PrivilegeManager.GetGrants(grantee, false); try { foreach (var grant in grants) { PrivilegeManager.Revoke(grant); } } finally { foreach (var grant in grants) { PrivilegesCache.Remove(new GrantCacheKey(grant.Grantee, grant.ObjectType, grant.ObjectName.FullName, grant.WithOption, false)); } } }
public void RevokeAllGrantsOn(DbObjectType objectType, ObjectName objectName) { var grants = PrivilegeManager.GetGrantsOn(objectType, objectName); try { foreach (var grant in grants) { PrivilegeManager.Revoke(grant); } } finally { foreach (var grant in grants) { PrivilegesCache.Remove(new GrantCacheKey(grant.Grantee, grant.ObjectType, grant.ObjectName.FullName, grant.WithOption, false)); } } }