فهرست منبع

增加获取当前登录信息拦截器

shuzheng 9 سال پیش
والد
کامیت
c947f1e9df

+ 46 - 0
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/interceptor/UpmsLoginInterceptor.java

@@ -0,0 +1,46 @@
+package com.zheng.upms.interceptor;
+
+import com.zheng.upms.dao.model.UpmsUser;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.subject.Subject;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 登录信息拦截器
+ * Created by shuzheng on 2017/2/11.
+ */
+public class UpmsLoginInterceptor extends HandlerInterceptorAdapter {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        // 过滤ajax
+        if (null != request.getHeader("X-Requested-With") && request.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest")) {
+            return true;
+        }
+        // 登录信息
+        Subject subject = SecurityUtils.getSubject();
+        UpmsUser upmsUser = (UpmsUser) subject.getPrincipal();
+        request.setAttribute("upmsUser", upmsUser);
+        return true;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+        super.postHandle(request, response, handler, modelAndView);
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+        super.afterCompletion(request, response, handler, ex);
+    }
+
+    @Override
+    public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        super.afterConcurrentHandlingStarted(request, response, handler);
+    }
+
+}

+ 9 - 0
zheng-upms/zheng-upms-server/src/main/resources/springMVC-servlet.xml

@@ -11,4 +11,13 @@
 	<!-- 根目录'/'对应页面 -->
 	<mvc:view-controller path="/" view-name="/index"/>
 
+	<!-- 拦截器 -->
+	<mvc:interceptors>
+		<!-- 获取登录信息 -->
+		<mvc:interceptor>
+			<mvc:mapping path="/manage/**" />
+			<bean class="com.zheng.upms.interceptor.UpmsLoginInterceptor"></bean>
+		</mvc:interceptor>
+	</mvc:interceptors>
+
 </beans>

+ 2 - 2
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/index.jsp

@@ -103,10 +103,10 @@
 		<div class="s-profile">
 			<a class="waves-effect waves-light" href="javascript:;">
 				<div class="sp-pic">
-					<img src="${basePath}/resources/zheng-admin/images/avatar.jpg"/>
+					<img src="${basePath}${upmsUser.avatar}"/>
 				</div>
 				<div class="sp-info">
-					张恕征,您好!
+					${upmsUser.realname},您好!
 					<i class="zmdi zmdi-caret-down"></i>
 				</div>
 			</a>