public void afterPropertiesSet() throws Exception {
//because we're using an in-memory hsqldb for the sample app, a new one will be created each time the
//app starts, so insert the sample admin user at startup:
JdbcTemplate jdbcTemplate = new JdbcTemplate(this.dataSource);
jdbcTemplate.execute("insert into roles values (1, 'user', 'The default role given to all users.')");
jdbcTemplate.execute("insert into roles values (2, 'admin', 'The administrator role only given to site admins')");
jdbcTemplate.execute("insert into roles_permissions values (2, 'user:*')");
jdbcTemplate.execute("insert into users(id,username,email,password) values (1, 'admin', 'sample@shiro.apache.org', '" + new Sha256Hash("admin").toHex() + "')");
jdbcTemplate.execute("insert into users_roles values (1, 2)");