- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
package simplecms
import auth.*
class AuthFilters {
private checkPermission(def controller, def p, def session, def params) {
if (p) {
boolean result = session.user?.profile?.permissions?.contains(p)
if (p.delegate) {
result |= controller.checkDelegation[p.name](session, params)
} else if (p.controllerChecked) {
result &= controller.checkPermission[p.name](session, params)
}
if (!result && p.parent) {
result = checkPermission(controller, p.parent, session, params)
}
return result
}
return true
}
def filters = {
main(controller:'*', action:'*') {
before = {
def mappings = PermissionMapping.findAllByControllerAndMethodInList(controllerName, [actionName, '*'])
boolean denied = mappings?.size() > 0
if (denied) {
def permissions = []
session.user?.attach()
mappings.each { mapping ->
if (mapping.permission?.guest) {
denied = false
} else if (permission.parent == null){
permissions << mapping.permission
}
}
if (denied) {
denied = !permissions.any { checkPermission(grailsApplication.mainContext.getBean(controllerName), it, session, params) }
}
}
return !denied
}
}
}
}
Нашёл у себя в проекте. Иерархия разрешений? ну так будем проверять только корневые, что заморачиваться?!
TheHamstertamer 29.02.2012 20:22 # 0
roman-kashitsyn 29.02.2012 20:37 # +2
eth0 01.03.2012 19:57 # 0
King Arthur: To seek the Holy Grail.
Bridgekeeper: What... is the air-speed velocity of an unladen swallow?
3.14159265 01.03.2012 20:28 # 0
roman-kashitsyn 01.03.2012 20:48 # 0
eth0 02.03.2012 13:27 # 0
Мы вездеповсюду есть.
bugmenot 02.03.2012 13:46 # 0
eth0 02.03.2012 16:55 # 0
bugmenot 02.03.2012 17:25 # 0
> А на слух, пожалуй, не разберу.
специально так сделано, чтобы умереть от смеха
bugmenot 02.03.2012 17:36 # 0
NOTE: The 'Funniest Joke in the World' DOES NOT translate into English. It's some made-up gibberish words mixed in with some real German words in a proper sentence structure, but it doesn't mean anything, so don't bother trying to decipher it. Besides, if you managed that you'd probably die laughing.
eth0 02.03.2012 21:05 # +2
/me один раз так случайно умер.
Vindicar 03.03.2012 12:41 # +1
guest 26.06.2012 17:49 # −4
[URL=http://wooden-hause.ru/gruppovuxa/s
eks-narktiki-i-rok-n-roll.html]бесплатно
е секс видео из дома 2[/URL] [URL=http://ultants.info/gruppovuxa/porn
o-v-baku.html]порновидео бесплатно смотреть кунилингус[/URL] [URL=http://blog17.ru/minet/porno-kartin
ki-anime.html]бесплатное онлайн порно нижнее бельё[/URL]
сайт знакомств геев и бисексуалов в краснодарском крае кожный отросток на анальном отверстии аниме порно онлайн лучшее
[URL=http://victoriamoscow.ru/anal/posmo
tret-besplatno-russkie-pornofilmy.html]б
есплатное порно-секс видео с предварительным просмотром[/URL]
частное порно студентов видео секс видео русские бабы порно влагалище клитор
[URL=http://kirovcenter.ru/molodenkie/ru
sskoe-porno-u-ginekologa.html]порно бесплатно трусики[/URL] [URL=http://kirovcenter.ru/domashnee-por
no/smotret-video-seks-festivali.html]сек
с старухи порно смотреть бесплатно[/URL]
guest 26.06.2012 18:27 # −3