source: trunk/grails-app/conf/NimbleSecurityFilters.groovy @ 247

Last change on this file since 247 was 247, checked in by duh, 13 years ago
  • set keyword expansion
  • Property svn:keywords set to Author Rev Date
File size: 2.0 KB
Line 
1/*
2 *  Nimble, an extensive application base for Grails
3 *  Copyright (C) 2009 Intient Pty Ltd
4 *
5 *  Licensed under the Apache License, Version 2.0 (the "License");
6 *  you may not use this file except in compliance with the License.
7 *  You may obtain a copy of the License at
8 *
9 *  http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 */
17import intient.nimble.service.AdminsService
18
19/**
20 * Filter that works with Nimble security model to protect controllers, actions, views
21 *
22 * @author Bradley Beddoes
23 */
24public class NimbleSecurityFilters extends intient.nimble.security.NimbleFilterBase {
25
26    def filters = {
27
28        // Content requiring users to be authenticated
29        secure(controller: "main") {
30            before = {
31                accessControl {
32                    true
33                }
34            }
35        }
36
37        profilesecure(controller: "profile") {
38            before = {
39                if(!actionName.equals('miniprofile')) {
40                    accessControl {
41                        true
42                    }
43                }
44            }
45        }
46
47        // Account management requiring authentication
48        accountsecure(controller: "account", action: "(changepassword|updatepassword|changedpassword)") {
49            before = {
50                accessControl {
51                    true
52                }
53            }
54        }
55
56        // This should be extended as the application adds more administrative functionality
57        administration(controller: "(admins|user|group|role)") {
58            before = {
59                accessControl {
60                    role(AdminsService.ADMIN_ROLE)
61                }
62            }
63        }
64
65    }
66
67}
Note: See TracBrowser for help on using the repository browser.