A semantic-based access control mechanism for distributed systems