Show user roles in HTML page without bracket

sec:authorize spring boot
thymeleaf check if user is logged in
thymeleaf extras spring
thymeleaf role based menu
form th:action=@(/login)'' method=post
thymeleaf password field
thymeleaf admin panel
thymeleaf if admin

I'm using Spring security to authenticate user in my web page. I would like to show for each user his roles without bracket. If I use

<p sec:authentication='principal.authorities'></p>

I see [ADMIN, USER]. Is there a way in thymeleaf, javascript or HTML to show only ADMIN,USER? I know that in thymeleaf there is spring replace but how can I pass the result of above code? Thanks, regards

thymeleaf-extras-springsecurity provides access to an #authentication object which can return the list of GrantedAuthorities. There will be a GrantedAuthority for each role assigned (prefixed by 'ROLE_').

You can use this to loop through and display each role (removing the ROLE_ prefix):

    <p th:each="authority : ${#authentication.getAuthorities()}"
       th:if="${authority.getAuthority().startsWith('ROLE_')}"
       th:text="${authority.getAuthority().replaceFirst('ROLE_', '')}">
    </p>

RoleAttribute, Use cases for a role attribute for HTML5, include: Recently, the "curly brackets" hack of identifying a graphical image by its use or type by inserting a and add this to the legal values that might appear as the right-hand-side of role. Descriptive content for a page element which references this element via describedby. The page files are in HTML. I would like to send those files to a different computer to allow the user of that computer to view the webpage from the HTML files. However, even when I open the HTML files on Chrome on my computer, not opening it with Brackets, none of the CSS styling or images - basically, anything linked to the HTML page that is

Sorry, late to this thread, but here is a working solution using Thymeleaf and Thymeleaf Extras

Role(s):
<th:block th:each="r, iter:${#authentication.getAuthorities()}">
    <span th:text="${r}"></span>
    <th:block th:if="${!iter.last}">, </th:block>
</th:block>

The code above will add a comma except after the last role.

Drupal 7: Visual QuickStart Guide, Select which user roles have access to this text format. Display any HTML as plain text: Shows HTML exactly as it's entered, without applying it to the text. on the page as the lessthan bracket and > displays as the greaterthan bracket. Comments on the Original role for HTML5 Proposal Rob Burns (HTML WG member) Thanks for initiating this issue. It's high priority in my view. I think role is exactly the appropriate place for this data. As more and more photographs are taken with digital cameras it is very easy to tag them as role='photo' from the internal metadata of the image

I think you see the brackets because 'principal.authorities' is an array. Try with the jstl taglib.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<c:forEach var="item" items="principal.authorities">
   <c:out value="${item}"/>
</c:forEach>
...

Introduction to Web Interaction Design: With HTML and CSS, except that in the case of Web page creation, the document to be structured and has since led to limiting HTML's role to just structuring a document, while CSS is element, which comprises only a start tag and therefore encloses no content. A start tag comprises a left angle bracket (<), the name of the element, and a right​  In this video, we'll show you how to create single a login page for a multi-user web application. The login page automatically redirects users based on 3 user roles: administrator, manager and

How to Create Login Page that Redirects Based on User Role , In this video, we'll show you how to create single a login page for a The login page Duration: 13:31 Posted: Mar 17, 2014 So this one is going to bit difficult you need to use HTML special Characters to show tags into you Page. Ex- [code] <pre> &lt;div class="html"&gt; &amp;lt;html&amp

Keys for Writers with Assignment Guides, Spiral bound Version, ➂ (Year of publication or creation) contained in parentheses and followed by a period. ➃ Title of figure or other visual work No italics for titles of maps, graphs, illustrations The screen shots on the opposite page show you where to find the in brackets Retrieved from http://atlas.ca.gov/view/gallery.html No period after URL  Brackets text editor can generate basic structure of Html for that you need to install Emmet. for installing Emmet you need to follow following steps. Run Brackets. Select File > Extension Manager Find “Emmet” extension and click “Install” button.

HTML for Beginners: Learn To Code HTML Today , In this video, we'll show you how to create single a login page for a multi-u. The login page Duration: 18:43 Posted: Mar 3, 2016 Creating a Simple HTML Page in Brackets. Creating a Simple HTML Page in Brackets. Skip navigation Sign in. Search. Show more Show less. Comments are turned off. Learn more.

Comments
  • if I store in database the role without "ROLE_" I might have problems?
  • @luca I might be mistaken, but I think spring-security automatically adds the ROLE_
  • at this time I am using ADMIN and USER without problem. With this code: <p th:each="authority : ${#authentication.getAuthorities()}" th:text="${authority.getAuthority()}"> it returns all the roles. The only problems is that show elements in different <p> tag and not on the same line
  • @luca well that's simple to solve. You can use a th:block which doesn't result in any output in the generated html, and use the iterStat to add commas (apart from the last one): <p><th:block th:each="authority, iterStat : ${#authentication.getAuthorities()}"><th:block th:text="${authority.getAuthority() + (iterStat.last?'':',')}"></th:block></th:block></p>
  • yes, I see the brackets because the result is an array. is there no way to avoid jstl? I'm not using it in my project
  • If you're using Thymeleaf, you can use the th:each attribute. Example : <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> ... <p th:each="item : ${principal.authorities}"></p> (From Thymeleaf manual) link
  • the variable is returned through sec:authentication='principal.authorities' and if I iterato on this I receive error
  • Try declaring the variable this way: <sec:authentication property="authorities" var="auth" /> and then using it with th:each : <div th:each="item : ${auth}"> item.authority </div>
  • I made a mistake in the answer, try replacing <sec:authentication property="authorities" var="auth" /> with <sec:authentication property="principal.authorities" var="auth" />