If you don\'t want to touch code, you could create a page whose content only logged-in users can see. That way only valid users can see the form. You\'d want to look for a content restriction / membership plugin to handle the protection of that page. You can set a field - perhaps their email address - to only accept unique submissions, so if someone tried to vote twice, Ninja Forms would prevent them from even submitting a duplicate.
If you want to touch code, you could register a hidden field in your form (see https://paulund.co.uk/register-hidden-fields-ninja-forms but instead of including user IP you\'d use get_current_user_id()
to capture their auto-generated WP ID). You would then also want to create a child theme and apply a template to that specific page to hide the form if the current user is not logged in.