public static IAccessStatement GenerateBaseGrant( string database, int objectType, long permissionMask, string parentName, string objectName, phPrincipal principal, string statement) { return GenerateBaseGrant(database, SqlPermission.GetPermission(objectType, permissionMask), parentName, objectName, principal, statement); }
internal void AddPrincipal(phPrincipal principal) { if (!this.principals.Contains(principal)) { this.principals.Add(principal); } }
public static IAccessStatement GenerateBaseGrant( string database, SqlPermission permission, string parentName, string objectName, phPrincipal principal, string statement) { var gas = new GenericAccessStatement { // GRANT AccessType = AccessType.Grant, // Database name Database = database, // On a specific object SecurableObject = String.IsNullOrWhiteSpace(objectName) ? null : new SecurableObject { Type = permission.PermissionClass, Database = database, ObjectOwner = parentName, ObjectName = objectName } }; // A set of permissions gas.AddPermission(permission); // To a set of users gas.AddPrincipal(principal); // Additional meta-data gas.AddStatement(statement); return gas; }