在一个完整的Java EE应用程序中,群集是DTO模式仍然是一个有效的选项?有问题的应用程序使用EJB Hibernate和Struts with Spring等.在这种情况下传输域对象有什么问题吗?
编辑:只是为了澄清我的问题,现代资源和Java EE的改进有没有理由不使用域对象?如果没有,那么DTO模式是否会逐渐消失,不应该在新的应用程序中使用?
我在我的Django项目中创建了一个装饰器,用于将参数值注入到装饰方法的参数中.
我这样做是inspect.getargspec为了检查方法中存在哪些参数并将它们放入kwargs.否则,由于方法中的参数数量不正确,我会收到错误.
虽然这在单个视图方法中正常工作,但在Django基于类的视图方面却失败了.
我相信这可能是因为装饰器@method_decorator在类级别应用于dispatch方法而不是个人get和post方法.
我是一个蟒蛇新手,可能会忽略一些明显的东西.
有没有更好的方法来做我正在做的事情?是否可以在基于类的视图中获取方法参数名称?
我正在使用Python 2.7和Django 1.11
装饰者
def need_jwt_verification(decorated_function):
@wraps(decorated_function)
def decorator(*args, **kwargs):
request = args[0]
if not isinstance(request, HttpRequest):
raise RuntimeError(
"This decorator can only work with django view methods accepting a HTTPRequest as the first parameter")
if AUTHORIZATION_HEADER_NAME not in request.META:
return HttpResponse("Missing authentication header", status=401)
jwt_token = request.META[AUTHORIZATION_HEADER_NAME].replace(BEARER_METHOD_TEXT, "")
try:
decoded_payload = jwt_service.verify_token(jwt_token)
parameter_names = inspect.getargspec(decorated_function).args
if "phone_number" in parameter_names or "phone_number" …Run Code Online (Sandbox Code Playgroud) 我喜欢上课
public User{
Long id;
Set<String> roles;
}
Run Code Online (Sandbox Code Playgroud)
如何查询User具有角色的所有对象"ADMIN"
编辑:
我正在使用Hibernate 3.0.5.并尝试了大多数明显的方法.
from Users where roles in('ADMIN')给出了JDBC错误.
from Users u where u.roles in('ADMIN')给出一个类强制转换异常
我认为这可能是这个特定版本的hibernate的一个问题.
最近struts修补了一个允许攻击者执行远程代码的漏洞.显然没有修补这就像给黑帽子带来一个红地毯欢迎与潮流: - /
http://struts.apache.org/release/2.3.x/docs/s2-016.html
基本上它允许执行攻击命令,如下所示:
合法行动:http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
被剥削的行动:http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
虽然我知道升级应该尽快完成,但是由于我们的代码库使用了旧的struts版本和插件,因此我们会尽快完成升级.
这将需要一些重构来升级struts 2库,然后那些需要进行测试等.
我的问题是,是否有人有任何想法阻止此漏洞被执行?这只有在我们能够升级之前.
我想知道在针对OGNL进行评估之前是否可以编写一个拦截器来清理URL,如果是这样的话,它是否会缓解这个问题?
我的其他想法是以某种方式使用Java安全管理器来停止任意进程调用,这可能吗?它会暂时修补这个洞吗?
正在使用的服务器是jBoss,如果有人认为这是相关的.
Grails中的HTTPBuilder是否安全?
如果HTTPBuilder连接到Grails服务类,它是否可以安全使用?或者它应该在每次调用时实例化?
关于Grails中的HTTPBuilder是否是线程安全的,似乎没有任何具体的答案.由于缺乏关于特定方面的文档,我倾向于使用非线程安全,但我想要一个确定的答案.
代码似乎表明,处理来自多个线程的多个请求应该可以,只要它们将使用相同的上下文(头文件,身份验证器等)进入相同的URL.
我打算使用Elasticsearch记录我的所有应用程序活动(如审计日志).
考虑到我如何直接控制应用程序,我应该使用他们的REST API直接将数据推送到Elasticsearch,还是应该以某种方式使用Logstash将数据提供给Elasticsearch?
当我可以直接将数据推送到Elasticsearch时,有什么理由我应该使用Logstash吗?这是一个额外的管理层.
我正在开发一个使用hibernate和spring的项目.Hibernate封装在DAO层中,DAO层也有相应的服务层,还有为请求和JSP页面映射的控制器.我被告知不要在这些层之间传递对象(控制器< - >服务< - > DAO),因为它是性能开销.一个特殊的例子是当我需要更新域对象(ORM类)中的布尔值时,我编写了一个在Service层和DAO层之间传递域对象的方法,并且我被告知要传递对象ID和特定的布尔值仅限值并在图层中为其编写单独的方法.这是正确的吗?我觉得这样做会使使用ORM工具(Hibernate)的许多优点无效.我觉得这个错了吗?任何建议和见解都会有用......
我一直在检查网络的推送通知,并且遇到了以下代码段
如果有多个服务工作者,这如何解决?它是否返回最后一个注册的服务工作者?
关于这个文档,我的文档并不是很清楚.
java ×3
hibernate ×2
architecture ×1
django ×1
dmi ×1
hql ×1
httpbuilder ×1
java-ee ×1
javascript ×1
jboss ×1
jdbc ×1
orm ×1
python ×1
security ×1
spring ×1
spring-mvc ×1
struts2 ×1