An authentication and authorization system