From 0e8110030b0eb4e8be3d1504554d56217e64d236 Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Thu, 04 Jan 2018 16:25:57 +0800
Subject: [PATCH] 组织模块

---
 src/main/java/com/moral/service/impl/AuthUserServiceImpl.java |   66 +++++++++++++++++++++-----------
 1 files changed, 43 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/AuthUserServiceImpl.java b/src/main/java/com/moral/service/impl/AuthUserServiceImpl.java
index 9f37169..cac5f0f 100644
--- a/src/main/java/com/moral/service/impl/AuthUserServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AuthUserServiceImpl.java
@@ -1,38 +1,58 @@
 package com.moral.service.impl;
 
-import com.moral.entity.auth.AuthRole;
-import com.moral.entity.auth.AuthUser;
-//import com.moral.service.UserService;
-import org.springframework.beans.factory.annotation.Autowired;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.User;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
+import com.moral.common.util.RedisUtil;
+import com.moral.entity.Account;
+import com.moral.entity.OperateUser;
+import com.moral.mapper.AccountMapper;
+import com.moral.service.AccountService;
+import com.moral.service.OperateUserService;
 
 @Service
 public class AuthUserServiceImpl implements UserDetailsService {
 
-//    @Autowired
-//    private UserService userService;
+	@Resource
+	private AccountMapper accountMapper;
 
-    @Override
-    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
-//        AuthUser user = userService.findByUsername(username);
-        AuthUser user = null;
-        if(user == null){
-            throw new UsernameNotFoundException("������������"+ username + "������������");
-        }
-        Collection<SimpleGrantedAuthority> collection = new HashSet<SimpleGrantedAuthority>();
-        Iterator<AuthRole> iterator =  user.getList().iterator();
-        while (iterator.hasNext()){
-            collection.add(new SimpleGrantedAuthority(iterator.next().getRole_name()));
-        }
+	@Resource
+	private AccountService accountService;
 
-        return new org.springframework.security.core.userdetails.User(username, user.getPassword(), collection);
-    }
+	@Resource
+	private OperateUserService operateUserService;
+
+	@Resource
+	private RedisTemplate<String, String> redisTemplate;
+
+	@Override
+	public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
+		String type = RedisUtil.get(redisTemplate, "token_" + username), password;
+		Collection<SimpleGrantedAuthority> collection = new HashSet<SimpleGrantedAuthority>();
+		if ("screen".equals(type)) {
+			Account account = accountService.getAccountByAccountName(username);
+			password = account.getPassword();
+			List<Map<String, Object>> roleNames = accountMapper.getRoleNameByAccountId(account.getId());
+			for (Map<String, Object> roleName : roleNames) {
+				collection.add(new SimpleGrantedAuthority((String) roleName.get("role_name")));
+			}
+		} else {
+			OperateUser operateUser = operateUserService.getOperateUserByMobile(username);
+			password = operateUser.getPassword();
+			collection.add((new SimpleGrantedAuthority("ROLE_MOBILE")));
+		}
+		return new User(username, password, collection);
+	}
 }

--
Gitblit v1.8.0