Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.nutz.integration.shiro.NutShiroProcessor Maven / Gradle / Ivy
package org.nutz.integration.shiro;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.Collection;
import org.apache.shiro.authz.UnauthenticatedException;
import org.apache.shiro.authz.UnauthorizedException;
import org.apache.shiro.authz.aop.AuthorizingAnnotationMethodInterceptor;
import org.apache.shiro.web.util.WebUtils;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.ActionContext;
import org.nutz.mvc.ActionInfo;
import org.nutz.mvc.NutConfig;
import org.nutz.mvc.View;
import org.nutz.mvc.impl.processor.AbstractProcessor;
import org.nutz.mvc.view.ServerRedirectView;
/**
* 处理Shiro注解及异常, 如果使用ioc方式放入动作链,必须使用非单例模式.
*
* @author wendal
* @author rekoe
*
* 如果是ajax请求的可以通过header 增加的状态属性做友好提示
*
* $(document).ajaxComplete(function(event, request, settings) { var
* loginStatus = request.getResponseHeader("loginStatus"); if
* (loginStatus == "accessDenied") { $.message("warn", "登录超时,请重新登录");
* setTimeout(function() { location.reload(true); }, 2000); } else if
* (loginStatus == "unauthorized") { $.message("warn", "对不起,您无此操作权限!");
* }else{ $.message("warn", "系统错误"); } });
*
* 完整插件代码 插件开始//********************************* (function($) { var
* zIndex = 100; var $message=null; var messageTimer=null; $.message =
* function() { var message = {}; if ($.isPlainObject(arguments[0])) {
* message = arguments[0]; } else if (typeof arguments[0] === "string"
* && typeof arguments[1] === "string") { message.type = arguments[0];
* message.content = arguments[1]; } else { return false; } if
* (message.type == null || message.content == null) { return false; }
* if ($message == null) { $message = $('<\/div><\/div>');
* if (!window.XMLHttpRequest) { $message.append('