【发布时间】:2013-12-07 15:30:09
【问题描述】:
我正在寻找一种设计模式或一种方法来整理我的代码。这是在给定主题的安全和检查权限的上下文中。 这是一个简化的例子:
public Pizza bakePizza() throws UnauthorizedException{
if (subject.isPermitted("BAKE_PIZZA")){
return new Pizza();
} else {
throw new UnauthorizedException();
}
}
有没有办法让它更干净一点,因为当我有很多不同类型的方法时,这会变得很混乱。
【问题讨论】:
-
如果可以选择面向方面的编程,方面可能会清理代码。看看 Shiro。
-
@Sotirios 实际上,我正在使用 Shiro,并且主题是 Shiro 对象 :) 但是要使 Shiro 的注释起作用,您必须使用 AOP,我对 AOP 完全没有经验,这个项目不是尝试新的编程风格的权利。这就是为什么我正在寻找另一种做事方式的原因 :) 不过还是感谢您的建议!
-
可以在JVM加载的时候通过修改类文件来添加校验码。 Javassist可以做到这一点
标签: java design-patterns permissions