现在集成了shiro。如果需要权限的未登录,会直接跳转到/user/login,
或者自己配置的url,比如authc.loginUr = xxxx/。
这里我如何不重定向,而自定义返回方式了
13 回复
用菜单的代码块啊
来自炫酷的 NutzCN
authc = org.nutz.integration.shiro.CaptchaFormAuthenticationFilter
;将shiro的登录路径映射到本项目module的登录
authc.loginUrl = /v1/users/signin
perms.loginUrl = /v1/users/signin
roles.loginUrl = /v1/users/signin
如果服务器重启,session丢失,这里我配置了authc.loginUrl用来处理自定义跳转,如果不配置,则会跳转到默认的配置。这种情况貌似不会走到到NutShiroProcessor这一步。我希望我可以自己处理未获取权限的情景,而不是跳转到某个页面或者url
补充动作链,配置
//动作链。以下配置仅比默认配置多了一个vc.thinker.mvc.LogTimeProcessor
var chain = {
"default" : {
"ps" : [
"vc.thinker.mvc.processor.LogTimeProcessor",//自定义
"org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor",
"org.nutz.mvc.impl.processor.EncodingProcessor",
"org.nutz.mvc.impl.processor.ModuleProcessor",
"org.nutz.integration.shiro.NutShiroProcessor",//自定义
// "ioc:demoProcessor",//自定义,直接注入ioc bean
"vc.thinker.mvc.processor.DemoProcessor",
"vc.thinker.mvc.processor.CheckJoinedOrganProcessor",
"org.nutz.mvc.impl.processor.ActionFiltersProcessor",
"org.nutz.mvc.impl.processor.AdaptorProcessor",
"!org.nutz.plugins.validation.ValidationProcessor",//默认不启用,去掉 '!'可改为启用
"org.nutz.mvc.impl.processor.MethodInvokeProcessor",
"org.nutz.mvc.impl.processor.ViewProcessor"
],
"error" : 'org.nutz.mvc.impl.processor.FailProcessor'
}
};
shiro.ini
中配置了/** = authc
如果controller中我配置了@RequiresPermissions("firm:products:view")类似的注解权限,访问这些url的时候会走NutShiroProcessor。但是如果没有,且没有登录就不会走NutShiroProcessor。
添加回复
请先登陆