mirror of https://gitee.com/y_project/RuoYi.git
				
				
				
			新增getPrincipalProperty方法,用于前端及其他模块获取当前用户信息
							parent
							
								
									bddb502427
								
							
						
					
					
						commit
						f96113d55d
					
				| 
						 | 
				
			
			@ -29,6 +29,12 @@
 | 
			
		|||
            <artifactId>spring-web</artifactId>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        
 | 
			
		||||
        <!--Shiro核心框架 -->
 | 
			
		||||
		<dependency>
 | 
			
		||||
			<groupId>org.apache.shiro</groupId>
 | 
			
		||||
			<artifactId>shiro-core</artifactId>
 | 
			
		||||
		</dependency>
 | 
			
		||||
        
 | 
			
		||||
		<!-- pagehelper 分页插件 -->
 | 
			
		||||
		<dependency>
 | 
			
		||||
			<groupId>com.github.pagehelper</groupId>
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +84,7 @@
 | 
			
		|||
		</dependency>
 | 
			
		||||
		
 | 
			
		||||
		<!-- servlet包 -->
 | 
			
		||||
                <dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
		    <groupId>javax.servlet</groupId>
 | 
			
		||||
		    <artifactId>javax.servlet-api</artifactId>
 | 
			
		||||
		</dependency>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,13 @@
 | 
			
		|||
package com.ruoyi.common.utils.security;
 | 
			
		||||
 | 
			
		||||
import java.beans.BeanInfo;
 | 
			
		||||
import java.beans.Introspector;
 | 
			
		||||
import java.beans.PropertyDescriptor;
 | 
			
		||||
import org.apache.commons.lang3.StringUtils;
 | 
			
		||||
import org.apache.shiro.SecurityUtils;
 | 
			
		||||
import org.apache.shiro.subject.Subject;
 | 
			
		||||
import org.slf4j.Logger;
 | 
			
		||||
import org.slf4j.LoggerFactory;
 | 
			
		||||
import com.ruoyi.common.constant.PermissionConstants;
 | 
			
		||||
import com.ruoyi.common.utils.MessageUtils;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +18,8 @@ import com.ruoyi.common.utils.MessageUtils;
 | 
			
		|||
 */
 | 
			
		||||
public class PermissionUtils
 | 
			
		||||
{
 | 
			
		||||
    private static final Logger log = LoggerFactory.getLogger(PermissionUtils.class);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查看数据的权限
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			@ -74,4 +83,36 @@ public class PermissionUtils
 | 
			
		|||
        }
 | 
			
		||||
        return msg;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 返回用户属性值
 | 
			
		||||
     *
 | 
			
		||||
     * @param property 属性名称
 | 
			
		||||
     * @return 用户属性值
 | 
			
		||||
     */
 | 
			
		||||
    public static Object getPrincipalProperty(String property)
 | 
			
		||||
    {
 | 
			
		||||
        Subject subject = SecurityUtils.getSubject();
 | 
			
		||||
        if (subject != null)
 | 
			
		||||
        {
 | 
			
		||||
            Object principal = subject.getPrincipal();
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                BeanInfo bi = Introspector.getBeanInfo(principal.getClass());
 | 
			
		||||
                for (PropertyDescriptor pd : bi.getPropertyDescriptors())
 | 
			
		||||
                {
 | 
			
		||||
                    if (pd.getName().equals(property) == true)
 | 
			
		||||
                    {
 | 
			
		||||
                        return pd.getReadMethod().invoke(principal, (Object[]) null);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception e)
 | 
			
		||||
            {
 | 
			
		||||
                log.error("Error reading property [{}] from principal of type [{}]", property,
 | 
			
		||||
                        principal.getClass().getName());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@ package com.ruoyi.framework.web.service;
 | 
			
		|||
 | 
			
		||||
import org.apache.shiro.SecurityUtils;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import com.ruoyi.common.utils.security.PermissionUtils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * RuoYi首创 js调用 thymeleaf 实现按钮权限可见性
 | 
			
		||||
| 
						 | 
				
			
			@ -43,4 +44,14 @@ public class PermissionService
 | 
			
		|||
        return SecurityUtils.getSubject().hasRole(role);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 返回用户属性值
 | 
			
		||||
     *
 | 
			
		||||
     * @param property 属性名称
 | 
			
		||||
     * @return 用户属性值
 | 
			
		||||
     */
 | 
			
		||||
    public Object getPrincipalProperty(String property)
 | 
			
		||||
    {
 | 
			
		||||
        return PermissionUtils.getPrincipalProperty(property);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,12 +17,6 @@
 | 
			
		|||
	
 | 
			
		||||
    <dependencies>
 | 
			
		||||
    
 | 
			
		||||
    	<!--Shiro核心框架 -->
 | 
			
		||||
       <dependency>
 | 
			
		||||
            <groupId>org.apache.shiro</groupId>
 | 
			
		||||
            <artifactId>shiro-core</artifactId>
 | 
			
		||||
       </dependency>
 | 
			
		||||
    
 | 
			
		||||
        <!--velocity代码生成使用模板 -->
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.apache.velocity</groupId>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,12 +17,6 @@
 | 
			
		|||
 | 
			
		||||
    <dependencies>
 | 
			
		||||
    
 | 
			
		||||
    	<!--Shiro核心框架 -->
 | 
			
		||||
		<dependency>
 | 
			
		||||
			<groupId>org.apache.shiro</groupId>
 | 
			
		||||
			<artifactId>shiro-core</artifactId>
 | 
			
		||||
		</dependency>
 | 
			
		||||
    
 | 
			
		||||
		<!-- 定时任务 -->
 | 
			
		||||
		<dependency>
 | 
			
		||||
			<groupId>org.quartz-scheduler</groupId>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
<body class="white-bg">
 | 
			
		||||
	<div class="wrapper wrapper-content animated fadeInRight ibox-content">
 | 
			
		||||
		<form class="form-horizontal m" id="form-job-add">
 | 
			
		||||
		    <input type="hidden" name="createBy" th:value="${@permission.getPrincipalProperty('loginName')}">
 | 
			
		||||
			<div class="form-group">
 | 
			
		||||
				<label class="col-sm-3 control-label">任务名称:</label>
 | 
			
		||||
				<div class="col-sm-8">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@
 | 
			
		|||
	<div class="wrapper wrapper-content animated fadeInRight ibox-content">
 | 
			
		||||
		<form class="form-horizontal m" id="form-job-edit" th:object="${job}">
 | 
			
		||||
			<input id="jobId" name="jobId" type="hidden" th:field="*{jobId}"/>
 | 
			
		||||
			<input type="hidden" name="updateBy" th:value="${@permission.getPrincipalProperty('loginName')}">
 | 
			
		||||
			<div class="form-group">
 | 
			
		||||
				<label class="col-sm-3 control-label">任务名称:</label>
 | 
			
		||||
				<div class="col-sm-8">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue