Here is how i did it... *created a spring-config application-security.xml*
/"<http create-session="ifRequired" auto-config="true"> <remember-me/> <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" /> </http> <authentication-manager alias="authenticationManager" > <authentication-provider user-service-ref="userDetailsService"/> </authentication-manager> <global-method-security secured-annotations="enabled" /> "/ *in web.xml add the following lines:* / <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> / *in spring-config.xml* / <bean id="userDetailsService" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces" value="security.service.UserDetailsService"/> <property name="target"> <bean class="security.service.UserDetailsServiceImpl"> <property name="userDao" ref="userDetailDao"/> </bean> </property> </bean> <bean id="userDetailsService" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces" value="security.service.UserDetailsService"/> <property name="target"> <bean class="security.service.impl.UserDetailsServiceImpl"> <property name="userDao" ref="userDetailDao"/> </bean> </property> </bean> / *Add following annotation on pages you want to secure:* /@AuthorizeInstantiation("ROLE_ADMIN")/ // for users replace ROLE_ADMIN with USER_ROLE Create a UserDetailsService class: /public interface UserDetailsService extends org.springframework.security.core.userdetails.UserDetailsService { public void RegisterUser(UserDetail userDetail); public UserDetail loadUserByEmail(String emailAddress); public void deleteUserVerification(UserVerification userVerification); public void deleteUser(UserDetail userDetail); public void verifyUser(UserDetail userDetail); public UserDetail getByUsername(String username); }/ *Create UserDetailServiceImpl class:* /public class UserDetailsServiceImpl implements UserDetailsService { private UserDetailDAO userDao; @Override public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException, DataAccessException { return userDao.getUserDetail(s); } @Override public UserDetail loadUserByEmail(String emailAddress) { return userDao.getUserByEmail(emailAddress); } @Override public void deleteUserVerification(UserVerification userVerification) { userDao.deleteUserVerification(userVerification); } public UserDetailDAO getUserDao() { return userDao; } public void setUserDao(UserDetailDAO userDao) { this.userDao = userDao; } public void RegisterUser(UserDetail userDetail) { userDao.saveUserDetail(userDetail); } public void deleteUser(UserDetail userDetail) { userDao.deleteUserDetail(userDetail); } public void verifyUser(UserDetail userDetail) { userDetail.setEnabled(true); userDetail.setLocked(false); userDetail.setCredentialsExpired(false); userDetail.setExpired(false); userDetail.setAccountStatus(UserAccountStatus.VERIFIED); List<UserVerification> userVerificationList = userDetail.getUserVerification(); UserVerification userVerification = userVerificationList.get(0); userDetail.getUserVerification().remove(0); userDao.updateUserDetail(userDetail); userDao.deleteUserVerification(userVerification); } public UserDetail getUser(String username) { return userDao.getByUsername(username); } @Override public UserDetail getByUsername(String username) { return userDao.getByUsername(username); } }/ *Create class UserVerification:* /@Entity @Table(name = "userverification", uniqueConstraints = {@UniqueConstraint(columnNames = {"userid"})} ) public class UserVerification extends BasicEntity implements Serializable { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "userid", referencedColumnName = "id", insertable = true, nullable = false, updatable = true) private UserDetail userDetail; private String verificationCode; public UserVerification() { } public UserVerification(String verificationCode) { this.verificationCode = verificationCode; } public UserVerification(UserDetail userDetail, String verificationCode) { this.userDetail = userDetail; this.verificationCode = verificationCode; } public UserDetail getUserDetail() { return userDetail; } public void setUserDetail(UserDetail userDetail) { this.userDetail = userDetail; } public String getVerificationCode() { return verificationCode; } public void setVerificationCode(String verificationCode) { this.verificationCode = verificationCode; } }/ *Create UserDetails object:* /@Entity @Table(name = "userdetails", uniqueConstraints = {@UniqueConstraint(columnNames = {"username", "emailaddress"})} ) public class UserDetail extends BasicEntity implements UserDetails { private String userName; private String password; private String emailAddress; private Timestamp accountCreatedDate; private Timestamp lastActivityDate; private boolean keepLoggedIn; ...... ..... .... .. }/ *Role object:* /@Entity @Table(name = "Roles", uniqueConstraints = {@UniqueConstraint(columnNames = {"role"})}) public class Role extends BasicEntity implements GrantedAuthority { private String role; .... ...... ..... ... .. }/ This is all you need to get started... Hope this helps... -Milton Martin Grigorov-4 wrote > > See https://github.com/jwcarman/Wicketopia > > On Sun, Jan 15, 2012 at 7:57 AM, Brian Lavender <brian@> wrote: >> Does someone have a sample of the current spring security with Wicket >> auth-roles? >> One that I can do the following. >> >> mvn jetty:run >> >> and see it run? >> >> brian >> -- >> Brian Lavender >> http://www.brie.com/brian/ >> >> "There are two ways of constructing a software design. One way is to >> make it so simple that there are obviously no deficiencies. And the other >> way is to make it so complicated that there are no obvious deficiencies." >> >> Professor C. A. R. Hoare >> The 1980 Turing award lecture >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscribe@.apache >> For additional commands, e-mail: users-help@.apache >> > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@.apache > For additional commands, e-mail: users-help@.apache > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-spring-security-sample-app-tp4296338p4298233.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org