source: trunk/grails-app/conf/dbnp/configuration/BootStrapAuthentication.groovy @ 1521

Last change on this file since 1521 was 1521, checked in by robert@…, 12 years ago

Changes in samplesearch test related to #313

File size: 1.5 KB
Line 
1package dbnp.configuration
2import dbnp.authentication.*
3import org.codehaus.groovy.grails.commons.ConfigurationHolder
4
5/**
6 * @Author Jeroen Wesbeek <work@osx.eu>
7 * @Since 20101111
8 *
9 * Revision information:
10 * $Rev: 1430 $
11 * $Author: work@osx.eu $
12 * $Date: 2011-01-21 21:05:36 +0100 (Fri, 21 Jan 2011) $
13 */
14class BootStrapAuthentication {
15        /**
16         * set up the initial roles and users if required
17         * @visibility  public
18         * @void
19         */
20        public static void initDefaultAuthentication(springSecurityService) {
21                "setting up default authentication".grom()
22
23                // user work variable
24                def user=null
25
26                // get configuration
27                def config = ConfigurationHolder.config
28
29                // create the admin role
30                def adminRole = SecRole.findByAuthority('ROLE_ADMIN') ?: new SecRole(authority: 'ROLE_ADMIN').save()
31
32                // iterate through default users, see
33                //      - grails-app/conf/config-environment.properties
34                //      - ~/.grails-config/environment-gscf.properties
35                config.authentication.users.each { key, values ->
36                        // make sure we do not add duplicate users
37                        if (!SecUser.findAllByUsername(values.username)) {
38                                // create user instance
39                                user = new SecUser(
40                                        username:values.username,
41                                        password:springSecurityService.encodePassword( values.password , values.username ),
42                                        email:values.email,
43                                        userConfirmed: true,
44                                        adminConfirmed: true
45                                ).save(failOnError: true)
46
47                                // is this user an administrator?
48                                if (values.administrator == 'true') {
49                                        SecUserSecRole.create(user, adminRole, true)
50                                }
51                        }
52                }
53        }
54}
Note: See TracBrowser for help on using the repository browser.