Просмотр исходного кода

Merge remote-tracking branch 'origin/dev-mysql' into dev-mysql

yujia 7 лет назад
Родитель
Сommit
5179afec4a

+ 16 - 1
src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/UserServiceImpl.java

@@ -2,11 +2,14 @@
 package com.uas.platform.b2c.common.account.v2.service.impl;
 
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.RoleDao;
 import com.uas.platform.b2c.common.account.dao.UserDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.Role;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.account.v2.service.UserService;
 import com.uas.platform.b2c.core.constant.IntegerConstant;
+import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.sso.entity.UserView;
@@ -16,6 +19,7 @@ import org.springframework.util.StringUtils;
 
 import java.text.SimpleDateFormat;
 import java.util.List;
+import java.util.Set;
 
 
 @Service("v2.UserService")
@@ -27,6 +31,9 @@ public class UserServiceImpl implements UserService {
     @Autowired
     private EnterpriseDao enterpriseDao;
 
+    @Autowired
+    private RoleDao roleDao;
+
     private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
@@ -161,7 +168,7 @@ public class UserServiceImpl implements UserService {
     }*/
 
     @Override
-    public void bindOrUnbind(Long uu, Long enuu, Integer type) {
+    public void bindOrUnbind(Long uu, Long enuu, Integer type)  {
         User user = userDao.findOne(uu);
         Enterprise enterprise = enterpriseDao.findByUu(enuu);
         if (null == user) {
@@ -175,6 +182,14 @@ public class UserServiceImpl implements UserService {
         if (null != type) {
             if (type.equals(IntegerConstant.YES_SHORT)) { //1为绑定,0为解绑
                 user.addEnterprise(enterprise);
+                List<Role> roles = roleDao.findByEnUUAndDesc(enterprise.getUu(),"普通用户");
+                if(roles.size()>0){
+                    Set<Role> set = user.getRoles();
+                    set.add(roles.get(0));
+                    user.setRoles(set);
+                }else{
+                    enterpriseDao.callInitProcedure(enterprise.getUu());
+                }
                 userDao.save(user);
             } else {
                 user.removeEnterprise(enterprise);

+ 3 - 2
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -208,7 +208,8 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         // 暂时在正式 过滤admin访问权限
         if (needPermission != null) {
             if ("prod".equals(profile)) {
-                if (!user.getEnterprise().getUu().toString().equals(enUU)) {
+                //暂时放行所有权限拦截, 权限发布时候再开放注释;
+               /* if (!user.getEnterprise().getUu().toString().equals(enUU)) {
                     throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
                 } else {
                     if (user.getEnterprise().getUu().toString().equals(enUU)) {
@@ -216,7 +217,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
                             throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
                         }
                     }
-                }
+                }*/
             } else {
                 throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
             }