2014-11-07 2 views
1

Я новичок в grails, и до сих пор я только мог использовать простые фильтры. Я хочу эффективно использовать фильтр.Регуляторы цикла Grails

(я использую Grails 2.4.3, с jdk_1.6)

Я хочу, чтобы создать фильтр, чтобы разрешить доступ к AppName/ и AppName/user/login и я не мог получить это право! Я хотел использовать регулярное выражение, но я не понимаю его!

я попробовал этот

 loggedInOnly(uri:'/**',uriExclude :"*.css|*.js|*image*|/|/user/login"){ 
      before = { 
       println "### ###### #### #" 
      } 
     } 

и я также пытался реверс параметр регулярных выражений, но я не подвожу не повезло! Я искал все google, но я не мог найти ни одного потока, чтобы рассказать мне, как работает регулярное выражение фильтра!

Я знаю, что мог бы создать фильтр xxxx(controller:'*', action:'*'), а затем использовать параметры и actionName для проверки! Но должен быть лучший способ!

Мой вопрос в двух словах: как работает регулярное выражение в фильтрах?

ответ

1

Во-первых, более подробно рассмотрите documentation. Обратите внимание, что uri и uriExclude - это пути к муравьям, а не регулярные выражения. Помня об этом, если вы посмотрите, как функция ant paths вы увидите, что они не способны к логическому or.

Итак, учитывая все это, вернемся к использованию regex и вместо этого используйте атрибут find.

loggedInOnly(regex: true, find: '(.​*.css|.*.js|.*image.*|\\/|\\/user\\/login)​', invert: true){ 
    before = { 
    ... 
    } 
} 

Примечание I Хэ используется инвертировать, чтобы этот фильтр применяется ко всему, что не соответствует ни одному из шаблонов внутри find. Кроме того, я написал это с верхней части головы, поэтому вам может потребоваться проверить регулярное выражение в вашем приложении (я проверил его с помощью groovy web console, чтобы убедиться, что я действительно не испортил синтаксис).

Надеюсь, это поможет.

+0

спасибо: можете ли вы также отметить, где я могу найти хороший учебник для регулярных выражений? –

+1

Вот сайт, на котором есть много информации о регулярных выражениях. http://www.regular-expressions.info/tutorial.html –

 Смежные вопросы

  • Нет связанных вопросов^_^