public RequiresSessionAttribute(IAccessConfiguration configuration,
                                        IDatabaseContextFactory databaseContextFactory, ISessionQuery sessionQuery)
        {
            Guard.AgainstNull(configuration, nameof(configuration));
            Guard.AgainstNull(databaseContextFactory, nameof(databaseContextFactory));
            Guard.AgainstNull(sessionQuery, nameof(sessionQuery));

            _configuration          = configuration;
            _databaseContextFactory = databaseContextFactory;
            _sessionQuery           = sessionQuery;
        }
            public RequiresPermission(IAccessConfiguration configuration,
                                      IDatabaseContextFactory databaseContextFactory, ISessionQuery sessionQuery,
                                      string permission)
            {
                Guard.AgainstNull(configuration, nameof(configuration));
                Guard.AgainstNull(databaseContextFactory, nameof(databaseContextFactory));
                Guard.AgainstNull(sessionQuery, nameof(sessionQuery));
                Guard.AgainstNullOrEmptyString(permission, "permission");

                _configuration          = configuration;
                _databaseContextFactory = databaseContextFactory;
                _sessionQuery           = sessionQuery;
                _permission             = permission;
            }