DEV Community

abbazs
abbazs

Posted on

FLASK-USER current_user.has_roles('Admin')

I'm working in a flask project and I wanted the URLs to views available if only the user has access to those views. Apparently, flask-user has a method called has_roles that can be used for this purpose but not available in the documentation https://flask-user.readthedocs.io/

Here is how I've enabled the selective availability of URLs in jinja2 template:

{% if current_user.has_roles('Admin') %}
<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
        data-toggle="dropdown" aria-haspopup="true">Users</a>
    <div class="dropdown-menu bg-dark" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" href="#">Dashboard</a>
        <a class="dropdown-item" href="{{ url_for('auth.adduser') }}">Add</a>
    </div>
</li>
{% endif %}
Enter fullscreen mode Exit fullscreen mode

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay