В моем приложении Grails есть несколько контроллеров: -
LoginController
LogoutController
SearchableController
cirnele.SearchAllController
com.ten.cirnelle.domain.CustomerController
com.ten.cirnelle.domain.ProjectController
com.ten.cirnelle.domain.PurchaseOrderController
com.ten.cirnelle.domain.QuotationController
com.ten.cirnelle.domain.ResourceController
В Config.groovy я предоставил одну из своих настроек: -
cirnelleControllerExclusions =['Login','Search','Searchable','Resource']
и из main.gsp, Я использую: -
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<g:if test="${grailsApplication.config.cirnelleControllerExclusions.contains(c.naturalName.split()[0]) == false}">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.naturalName.split()[0]}</g:link></li>
</g:if>
</g:each>
этот код используется для предоставления меню, подобного структуре в верхней части каждой страницы просмотра, и он исключает 4 ролика, которые я указал в Config.groovy для отображения в видессылка на странице просмотра.но у меня есть много пользователей с разными ролями, такими как
ROLE_PM
ROLE_SALES/BDM
ROLE_TEAMMEMBER
ROLE_ADMIN
, и мое требование заключается в том, что если пользователь с правами администратора входит в систему, то он может просматривать все контроллеры как ссылку (кроме 4), но если пользовательпри входе в систему с ролью PM он не может просматривать ссылки CustomerController и QuotationCotroller.так как я могу настроить свой main.gsp для отображения ссылок меню в зависимости от роли пользователя.Thnks