NutzCN Logo
问答 关于shiro插件的鉴权
发布于 3099天前 作者 threefish 2126 次浏览 复制 上一个帖子 下一个帖子
标签:

在没有【/news/grid:发布信息】这个权限的情况下
在JSP中该链接被shiro隐藏了【shiro鉴权生效】

  <shiro:hasPermission name="/news/grid:发布信息">
            <a href="/news/add">发布信息</a>
</shiro:hasPermission>

直接访问这个地址,Java Module代码正确执行【shiro鉴权没有生效】并能访问该jsp页面

    @GET
    @At("/add")
    @Ok("jsp:news.add")
    @RequiresPermissions("/news/grid:发布信息")
    public void add() {
       System.out.println("测试");//这句打印会正常输出
    }

POM文件

 <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-integration-shiro</artifactId>
            <version>1.b.52.r2</version>
        </dependency>
   <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-ehcache</artifactId>
            <version>1.2.4</version>
        </dependency>

shiro.ini文件

[main]
sha256Matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher
shiro_realm = com.server.shiro.realm.ShiroRealm
shiro_realm.credentialsMatcher = $sha256Matcher

authc = org.nutz.integration.shiro.CaptchaFormAuthenticationFilter
authc.loginUrl  = /
logout.redirectUrl= /

[urls]
/static/**                = anon
/*                           = authc
/news/**                 = authc
8 回复

加shiro插件了吗

@wendal 意思是指还需要注册个方法类吗?我并没有注册添加额外的方法类。

https://github.com/nutzam/nutzmore/tree/master/nutz-integration-shiro

这是插件, 可以整个加进去, 也可以单独取里面的 NutShiroProcessor 类, 用于处理入口方法的shiro注解. 该类的代码可以直接拷贝然后改, 但类名类路径不要改,因为nutz默认读取该完整类名.

https://github.com/nutzam/nutzmore/blob/master/nutz-integration-shiro/src/main/java/org/nutz/integration/shiro/NutShiroProcessor.java

@wendal 好的,插件我已经引用了,发现里面没有这个类,版本有点低。我先试试你说的

@wendal 未起效,我是不是需要在哪儿注册下呢?

@wendal 找到了,需要在mvc-chain.js中注册

@qq_a0db4426 nutz版本比较低的缘故,高版本默认能找到

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