Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <body>
- <div>
- <div>
- <h2>Login</h2>
- </div>
- </div>
- <form action="/admin/login" method="post">
- Login:<br>
- <input type="text" name="username">
- <br>
- Password:<br>
- <input type="text" name="password">
- <br><br>
- <input type="submit" value="Submit">
- </form>
- </body>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:security="http://www.springframework.org/schema/security"
- xmlns:util="http://www.springframework.org/schema/util"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
- <import resource="classpath:my-admin-context.xml" />
- <bean id="adminUserService" class="....AdminUserService">
- <property name="userMapper" ref="userMapper" />
- <property name="userRoleMapper" ref="userRoleMapper" />
- </bean>
- <bean id="adminAuthenticationSuccessHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler">
- <property name="defaultTargetUrl" value="/index.html" />
- <property name="alwaysUseDefaultTargetUrl" value="true" />
- <property name="useReferer" value="true" />
- </bean>
- <security:http>
- <security:intercept-url pattern="/login.html*" access="IS_AUTHENTICATED_ANONYMOUSLY" requires-channel="any" />
- <security:intercept-url pattern="/**" access="ROLE_ADMIN" requires-channel="any" />
- <security:form-login login-page="/login.html" authentication-success-handler-ref="adminAuthenticationSuccessHandler" />
- <security:logout logout-url="/logout" invalidate-session="true" delete-cookies="JSESSIONID" logout-success-url="/login.html" />
- </security:http>
- <security:authentication-manager>
- <security:authentication-provider user-service-ref="adminUserService">
- <security:password-encoder hash="sha" />
- </security:authentication-provider>
- </security:authentication-manager>
- public class AdminUserService implements UserDetailsService {
- private final Logger logger = LoggerFactory.getLogger(getClass());
- private UserMapper userMapper;
- private UserRoleMapper userRoleMapper;
- public UserMapper getUserMapper() {
- return userMapper;
- }
- @Required
- public void setUserMapper(final UserMapper userMapper) {
- this.userMapper = userMapper;
- }
- public UserRoleMapper getUserRoleMapper() {
- return userRoleMapper;
- }
- @Required
- public void setUserRoleMapper(final UserRoleMapper userRoleMapper) {
- this.userRoleMapper = userRoleMapper;
- }
- @Override
- public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {
- logger.debug("Looking up User: {}", username);
- final UserDo userDo = userMapper.findUserByLogin(username);
- User user = null;
- if (userDo == null) {
- logger.warn("User does not exist: {}", username);
- user = new User(username, null, false, false, false, false, new ArrayList<GrantedAuthority>());
- } else if (StringUtils.equals(userDo.getStatus(), EtpAdminConstants.INACTIVE)) {
- logger.warn("User is Inactive: {}", username);
- logger.info("User DO: {}", userDo);
- user = new User(username, null, false, false, false, false, new ArrayList<GrantedAuthority>());
- } else {
- final List<GrantedAuthority> authorities = getAuthorities(userDo);
- logger.debug("Granted Authorities: {}", authorities);
- user = new User(username, userDo.getPassword(), authorities);
- }
- return user;
- }
- List<GrantedAuthority> getAuthorities(final UserDo userDo) {
- final List<UserRole> userRoleList = userRoleMapper.findRoleMapping(userDo.getId());
- logger.debug("Found Roles: {}", userRoleList);
- final List<GrantedAuthority> authorities = new ArrayList<>();
- userRoleList.forEach(userRole -> authorities.add(new SimpleGrantedAuthority(userRole.getRoleName())));
- return authorities;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement