Jfinal-ext shiro注解不起作用

发布于 2021-11-28 23:27:17 字数 3212 浏览 907 评论 1

我现在环境Jfinal2.0  + Jfinal-ext ,

其中用到了ext的shiro,也自定义了Reaml,现在的问题是ext的shiro注解无效,不起作用(使用shiro.ini文件中的urls配置和在代码里直接调用curuser.isPermitted("user")都是正常的,唯独使用shiro注解时却不起作用,晕。。。)

下面是一些信息,还请帮忙看看,是什么问题引起的

1.web.xml

<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>




<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.juli.configuration.JuLiConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

2.配置 

public void configPlugin(Plugins me) {
loadPropertyFile("db.properties");
C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"),getProperty("user"), getProperty("passwd"));
me.add(c3p0Plugin);

/*ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);*/

me.add(new SqlInXmlPlugin());


ShiroPlugin shiroplugin = new ShiroPlugin(this.routes);
me.add(shiroplugin);

3.shiro.ini 

[main]
#realm
myRealm =com.juli.common.shiro.JuLiShiroRealm
securityManager.realm = $myRealm


#cache
shiroCacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
shiroCacheManager.cacheManagerConfigFile = classpath:ehcache-shiro.xml
securityManager.cacheManager = $shiroCacheManager




#session
sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
sessionDAO.activeSessionsCacheName = shiro-activeSessionCache
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
sessionManager.sessionDAO = $sessionDAO
securityManager.sessionManager = $sessionManager
securityManager.sessionManager.globalSessionTimeout = 360000


shiro.loginUrl =/
authc.loginUrl = /
perms.unauthorizedUrl = /


[urls]
/ = anon
/login = anon
/** = authc


4.Controller代码

public class SysuserController extends Controller{

@RequiresPermissions(value={"user"})//现无此权限,应会进入登录页面,但不起作用 
public void index()
{

Subject curuser = SecurityUtils.getSubject();
/*if(curuser.isPermitted("user"))
{
renderText("有权限");
return;

}else
{
renderText("无权限");
return;
}*/
/*SysUser user = (SysUser)curuser.getPrincipal();
renderText(user.getStr("loginname")+"-"+user.getStr("name"));*/


}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆凄美了谁 2021-11-30 09:47:06

没有人回复下吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文