1. Куча / Говнокод #9568

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 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
    			}
    		}
    	}
    }

    Нашёл у себя в проекте. Иерархия разрешений? ну так будем проверять только корневые, что заморачиваться?!

    Запостил: 0rt, 29 Февраля 2012

    Комментарии (14) RSS

    • Это Groovy?
      Ответить
      • on grails
        Ответить
        • Bridgekeeper: What... is your quest?
          King Arthur: To seek the Holy Grail.
          Bridgekeeper: What... is the air-speed velocity of an unladen swallow?
          Ответить
          • И не подумал бы, что тут есть фанаты Монту Путхона.
            Ответить
            • в голове мелькнула мысль: хранитель моста и рыцари короля артура, ищущие святую гранату антиоха, вроде бы в разных локациях...
              Ответить
            • Nobody expects the Spanish Inquisition!
              Мы вездеповсюду есть.
              Ответить
              • Wenn ist das Nunstrück git und Slotermeyer? Ja! ... Beiherhund das Oder die Flipperwaldt gersput.
                Ответить
                • Полез в викижопию проверить, пишут "Nunstück". Но скетч хороший, да. Мой ховеркрафт полон угрей. А на слух, пожалуй, не разберу.
                  Ответить
                  • надо книжку упиратить, чтобы точно узнать

                    > А на слух, пожалуй, не разберу.
                    специально так сделано, чтобы умереть от смеха
                    Ответить
                    • ох ши, дисрегард зэт

                      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.
                      Ответить
                    • > специально так сделано, чтобы умереть от смеха
                      /me один раз так случайно умер.
                      Ответить
    • поиск порно игры бесплатно играть онлаин для взрослых фамилия трахтенберга настоящая тинто брасс порно фильмы онлайн большие звездные сиськи фото галерея секс со зрелой дамой
      [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]
      Ответить
      • Ильхам Зюлькорнеев, голый Антон Рыженков мокрые письки дети скачать QIP
        Ответить

    Добавить комментарий