Grails + Selenium + EasyB + пружинное ядро ​​безопасности: ifAnyGranted не работает - PullRequest
0 голосов
/ 16 октября 2010

Grails 1.3.5 и имеют установленные плагины с ядром selenium-rc, easyb и spring-security. Кажется, все работает очень хорошо, кроме одного случая, с которым я столкнулся. У меня есть тестируемая страница со следующей разметкой:

<sec:ifAnyGranted roles='ROLE_ADMIN'>
    <span class="menuButton">
      <g:link mapping="adminPage">
        <g:message code="default.admin.label" default="--Admin--"/>
      </g:link>
    </span>
</sec:ifAnyGranted>

При нормальном запуске приложения все работает нормально. Если я вошел как обычный пользователь, ссылка Admin не показывается. Если я войду в систему как администратор, ссылка появится. При запуске моего теста, независимо от того, кто вошел в систему, проверка не проходит, поэтому ссылка Admin никогда не отображается.

scenario "An Admin User logs into the system", {
   when "the user completes the login form with proper credentials", {

   grailsApplication = ApplicationHolder.application
   springSecurityService = ApplicationHolder.application.mainContext.getBean("springSecurityService")

   def userAdmin = new User(username: 'testAdmin', firstName: 'Test', lastName: 'Admin', enabled: true, password: springSecurityService.encodePassword("password")).save(flush: true)
   def roleAdmin = new Role(authority: 'ROLE_ADMIN').save(flush: true)
   UserRole.create(userAdmin, roleAdmin)

   selenium.openAndWait("/platform/login/auth")
   selenium.type('j_username', 'testAdmin')
   selenium.type('j_password', 'password')
   selenium.clickAndWait('signInBtn')

 }
 then "the user should be logged in and viewing their My Account page, as an admin", {
   selenium.isTextPresent("Welcome Test").shouldBe true
   selenium.isElementPresent('link=Admin').shouldBe true

 }
}

Другие теги работают отлично, такие как ifLoggedIn и ifNotLoggedIn. Кто-нибудь знает, является ли это известной проблемой или какой-либо другой информацией о ней? Спасибо.

1 Ответ

1 голос
/ 16 октября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...