2018-05-11 11:10

有好几个这样的项目,这里挑两个做得比较好的:
https://www.oschina.net/p/jfinalshiroplugin
https://gitee.com/jfinal/LMS

此外,还有 jboot 也集成了:
https://gitee.com/fuhai/jboot

这都是现成的项目,可以直接参考,或者拿到里头的代码用

此外,要注意,在 jfinal 下使用 shiro 不要用 jfinal 3.3 这个版本,其它任何版本都可以,强烈建议使用 jfinal 3.4

2018-05-11 10:38

@也许这就是萌新吧 别整合 shiro 了,太麻烦了,俱乐部的极简方案比 shrio 简单十倍不止,而且是全动态化配置,不使用注解之类的东东

权限自动生成,无需人工维护,我是强烈建议被 shiro 折磨的小伙伴们加入俱乐部:
传送门

2018-05-11 10:36

@也许这就是萌新吧 #hasPermission 是扩展出来的,需要手动添加一下

2018-05-11 10:35

@zhbs_钟楠 这个方案太不优雅了,难道你在用 jfinal 开发 “非web” 项目,如果是这样的话,你得在关闭项目时手动调用一下 ehcache.stop() 方法

在 web 项目中,上面这个 stop() 方法是被自动回调的

2018-05-11 10:33

@HingLo 从请求头里面获取即可:
request.getHeader(...);

2018-05-11 10:32

@KingTiger 通过 activeRecordPlugin.addSqlTemplate("all_sqls.sql") 来配置

2018-05-10 23:01

为啥不直接用 sql 管理功能,在 java 代码中拼接复杂 sql 不可取

2018-05-10 16:56

maxElementsOnDisk=0 这个你查一下官方文档,或许是这个造成的不能持久化,总之一定可以持久化,以前我一直这么用着的

重点关注这些配置之间的相互影响

2018-05-10 16:11

@sxf2018 就看 JDBC 是不是支持, jfinal 所有数据库操作都是直接将 sql + para 扔给 JDBC 处理的

2018-05-10 16:10

@HingLo @HingLo 上面回复中的 @lyh061619 同学给的代码,其中的 isPermitted() 方法中,你 return false 就不让当前用户访问,你 return true 就可以让当前用户访问

如何决定是 return true 还是 return false ,从 HttpServletRequest request 参数中拿到当前用户的身份就可以

2018-05-10 16:07

可以动态更新,你上面的代码是正确的,但要注意被使用的 Engine 对象是不是当前配置的这个 RenderManager.me().getEngine()

jfinal 中的 Engine 对象是可以同时存在多个,分别配置,分别用于不同的用途的

2018-05-10 16:04

ehcache.xml 中相关配置添加下面的属性:
diskPersistent="true"

jfinal 不会干预 ehcache 的行为,因此类似的功能,直接使用 ehcache 有关积累即可

2018-05-10 11:20

@haoran789 jfinal 现在用户数量正在高速增长,相信不久将迎来一次大的爆发,用得人越多,就有越多人来使用,这是一个正向反馈的过程

即便现在使用的人数还不够多,但 jfinal 的学习成本极低,哪怕是当成一个好用的工具花两三个小时学习使用,也会带来很多价值

此外,你的反馈错误的发到了分享频道,随后会被删除,请知悉

2018-05-10 11:07

你的用法完全正确,just do it

还可以简写为:
#if(dimensionIds && dimensionIds[0] != 0)

2018-05-10 00:27

@a614784512 404 错误是路由配置不对,按照文档改下配置即可