2018-05-12 15:00

@JackZeng 在 web.xml 中可以看到 JFinalFilter,而你可以将你用的 shiro 相关 Filter 写在 JFinlFilter 之前

这样就可以让 shrio 的 filter 先于 JFinalFilter 拦截请求,就可以起到控制权限的作用

2018-05-12 14:59

是不是只有在并发情况下才出现? 并发就会有锁的争用发生,用命令行登录 mysql,
使用 show processlist; 命令查看有没有死锁这类情况发生

通过按向上方向键再按回车键,可以快速不停地执行该命令,看输出表格中的各个状态

2018-05-11 23:22

enjoy 用到炉火纯青了,check() 可以很大程度上解决这个问题, @小99 可以试用一下

2018-05-11 22:55

jfinal 开发的项目就是标准的 java web 项目,必然可以在符合 java web 规范的容器中部署,很早以前就有人在 resin 中部署过 jfinal

2018-05-11 18:37

@hann @Before(Tx.class) 无法跨多数据源回滚,注意一下是不是这个问题

2018-05-11 18:32

这个用的是 freemarker,根据异常去解决一下

或者呼叫一下 jpress 作者 @海哥

@海哥 升级下 jpress 到 jfinal 3.4 以及 enjoy 啊,freemarker 太不爽了

jpress 现在有不少用户呢,不要抛弃 jpress

2018-05-11 17:31

这个问题的确值得考虑,例如可以这样改进:
1:对于带 default 参数的 get 方法,可以让 key 值不存在
2:其它所有 get 方法在获取时,先判断一下 key 值是否存在,如果不存在就抛异常

但这个也会带来点性参损失,或许可以加个开关变量来控制一下

2018-05-11 17:28

@小99 这是一个权衡的问题,有些配置是可以不配置的, 不配置的时候使用默认值,那么就需要支持获取配置的时候允许 key 不存在

或许会有什么好的办法解决,如果有好想法随时反馈给我

此外,在程序中也可以一定程度上来避免,例如采用 boolean int long 这种 primitive 类型作为参数类型,就可以在碰到 null 值参数时起到快速失败的作用

2018-05-11 17:22

@老武 机智如你 ^_^

2018-05-11 11:28

去开源中国搜索一下这方面的第三方工具类库即可

2018-05-11 11:20

jfinal ext2 这个项目应该已经基于 jfinal 封装过这样的功能,可以参考一下:
https://gitee.com/jfinal/JFinal-ext2/tree/master/src/main/ext/java/com/jfinal/ext/render

2018-05-11 11:12

由于 shiro 依赖于 jfinal 的 Routes 这个类中的数据,而 jfinal 3.3 这个版本的 Routes 数据在 ShrioPlugin 启动之后才开始生成的,所以在时机上不对

而 jfinal 3.4 调整了这个 configRoutes 的时机

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 是扩展出来的,需要手动添加一下