NutzCN Logo
问答 nutzwk权限控制问题
发布于 3030天前 作者 qq_d6c9c504 2919 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

如果个按钮直接跳转到一个页面,代码如下,但是他会重定向登入页面,由于登入了,直接定向到了首页,这种怎么控制?

	@At({"/add"})
    @Ok("beetl:/private/mv/movie/add.html")
	@RequiresPermissions("wx.video.movie.add")
    public void add() {
    }
19 回复

扩展一下NutShiroProcessor

来自炫酷的 NutzCN

CacheManager的package错了,是ehcache的,不是shiro的

来自炫酷的 NutzCN

import错了

来自炫酷的 NutzCN

@wendal ,还是没太整明白,shiro.ini配置错了?下面是我的配置

[main]

cacheManager

cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
cacheManager.cacheManagerConfigFile=classpath:ehcache.xml

回错帖了

翻nutzwk的NutShiroProcessor的源码看, 跳转是在里面做的.

其实...是在 LoginController.login() 方法

@Wizzercn 是的,应该是如果是ajax的请求来的才会页面提示没有权限,不然就是先到登入页面
protected void whenUnauthorized(ActionContext ac, UnauthorizedException e) throws Exception {
if (NutShiro.isAjax(ac.getRequest())) {
ac.getResponse().addHeader("loginStatus", "unauthorized");
NutShiro.rendAjaxResp(ac.getRequest(), ac.getResponse(), Result.error("没有权限"));
} else {
new ServerRedirectView(noAuthUri).render(ac.getRequest(), ac.getResponse(), null);
}
}

这个是不是nutzwk可以改下?不然非ajax请求,直接蹦到了登入页面了,界面上很多按钮多是直接href到一个地址

@wendal ServerRedirectView 如何直接返回403?

@qq_d6c9c504 new HttpStatusView(403).render(ac.getRequest(), ac.getResponse(), null);

@Wizzercn 功能是行了,但是体验不太好,浏览器到403了,在点回去nutzwk,只能回退从新登入进去

哦 是的 ,那你自定义个路径放到views里吧

@qq_d6c9c504 已提交主分支

@Wizzercn 好的,谢谢,我看下

@Wizzercn 大鲨鱼,好像地址你配错了
@At("/noPermission")
+ @Ok("beetl:/private/noPermission.html")
+ @Filters
+ public void noPermission() {
+
+ }

应该是@Ok("beetl:/private/sys/noPermission.html")

添加回复
请先登陆
回到顶部