休息服务需要根据json模式验证所有传入的json数据.json模式是公共可访问的,可以通过http请求检索.
我正在使用jackson -framwork来编组java和json之间的编组和解组.到目前为止,我找不到任何使用jackson来验证模式数据的可能性.
我还尝试了JsonTools框架,它显然提出了这样的验证功能.但不幸的是,我无法让验证工作.为什么JsonTool架构验证不起作用?
我该怎么做这样的验证?
我需要修改现有的PK.因此我放弃重新创建它.
ALTER TABLE B DROP CONSTRAINT PK_B;
ALTER TABLE B ADD CONSTRAINT PK_B PRIMARY KEY ("TYP", "NR", "HH", "QUART");
Run Code Online (Sandbox Code Playgroud)
不幸的是,最后一个声明会给我一个错误ORA-00955
如果我创建PK约束,就像它最初定义的那样:
ALTER TABLE B ADD CONSTRAINT PK_B PRIMARY KEY ("TYP", "NR", "HH");
Run Code Online (Sandbox Code Playgroud)
一切正常.
我有一个工作(基于web.xml)容器身份验证和授权.由于<url-pattern>
我需要switch to javax.annotation.security
注释的限制.我发现我需要在web.xml中进行额外配置才能打开基于角色的安全注释.在RESTEasy UserGuide中描述
但这对我不起作用:我得到一个错误404(无法找到相对的资源:/ services/customers/1)取决于是否
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
在web.xml中定义,或者在<context-param>
和之后定义<listener>
这是我的旧(现有)web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Store_Service</display-name>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL Secured WebService</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Authenticated customers only</web-resource-name>
<url-pattern>/services/customers/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>CUST</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Authentication-REALM</realm-name>
</login-config>
<security-role>
<role-name>CUST</role-name>
</security-role>
<security-role>
<role-name>ADMIN</role-name>
</security-role>
<welcome-file-list>
<welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name> …
Run Code Online (Sandbox Code Playgroud) 对于编写错误,记录或任何其他String
消息,String.format(...)
可以使用该方法.不幸的是,这种方法不是类型安全的,因此下面的源会抛出一个IllegalFormatException
String s = String.format("My message has %d characters !", "30");
Run Code Online (Sandbox Code Playgroud)
除了StringBuilder
课程之外,还有其他任何组合此类消息的方法.
我的个人意见是使用StringBuilder实例更难以阅读撰写的消息.
我需要通过RSA解密消息,以便通过不安全的通道发送消息,但我害怕Padding Oracle Attack.因此我已经问过以下问题:
像第一个问题中建议的那样,
但是,由于您使用的是高级加密库,因此您不必担心这一点.该图书馆的作者应该照顾它.
我不应该考虑.据我所知,RSA执行的PKCS#1 v1.5
是脆弱的Padding Oracale Attack
,其中原和不(假设它的正确实施)
因此,我想知道javax.crypt.Cipher
Java 7 使用哪种填充实现
我研究过它,我找到的最实用的方法是创建一个程序.该过程
添加一个id,删除重复的行,最后将一个id列添加到新形成的表中.我想,必须有一个更简单的方法.这是代码,它有效......
- 我的桌子
create table dublicateTable
(
name varchar(30)
)
Run Code Online (Sandbox Code Playgroud)
- 重复插入行
insert into dublicateTable values('Kerem')
insert into dublicateTable values('Taner')
insert into dublicateTable values('Mehmet')
insert into dublicateTable values('Serhat')
Run Code Online (Sandbox Code Playgroud)
- 第一种情况
select * from dublicateTable
name
-----
Kerem
Kerem
Kerem
Taner
Taner
Mehmet
Mehmet
Mehmet
Mehmet
Serhat
Serhat
Serhat
Run Code Online (Sandbox Code Playgroud)
--dynamicaly形成了sql代码程序
USE [myDataBase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[usp_delete_duplicate]
as
declare
@add_id_text nvarchar(50),
@delete_id_text nvarchar(50),
@command_text nvarchar(100)
begin
set @add_id_text='alter table dbo.dublicateTable add id int …
Run Code Online (Sandbox Code Playgroud) JSF Web应用程序尝试从Java EE Web服务检索资源.JSF Web应用程序运行正常.自从我将Http客户端源添加到反向Web服务资源以来,JBoss实例声称:
15:29:47,689 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http--0.0.0.0-443-1) Error Rendering View[/index.xhtml]: javax.el.ELException: /surfaceParts/sideBarLeft.xhtml @14,79 value="#{categories.cats}": java.lang.LinkageError: loader constraint violation: when resolving method "org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor.<init>(Lorg/apache/http/client/HttpClient;Lorg/apache/http/protocol/HttpContext;)V" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, at/fhj/ase/ssl/SSLClientHelper, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for resolved class, org/jboss/resteasy/client/core/executors/ApacheHttpClient4Executor, have different Class objects for the type xecutors.ApacheHttpClient4Executor.<init>(Lorg/apache/http/client/HttpClient;Lorg/apache/http/protocol/HttpContext;)V used in the signature
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) [jsf-impl-2.1.7-jbossorg-2.jar:]
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIData.getValue(UIData.java:731) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIData.getDataModel(UIData.java:1798) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:484) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at javax.faces.component.UIData.setRowIndex(UIData.java:473) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
at …
Run Code Online (Sandbox Code Playgroud) 我想根据OWASP Web Service Security应用Web服务安全性.因此我偶然发现了两点:
到目前为止,只有一个RESTful服务可以由客户端直接访问.对于每个请求,客户端需要由服务器进行身份验证.所有通信都通过TLS保护.我现在不确定,Message Integrity
因为我不明白这句话:
使用公钥加密时,加密确实保证机密性,但由于接收方的公钥是公开的,因此无法保证完整性.出于同样的原因,加密不能确保发件人的身份.
是否还要求客户签署数据以确保消息完整性?TLS只是点对点,代理是什么?
关于Message Confidentiality
,我理解如下.
我明白了吗?
要创建表我使用:
CREATE TABLE category
(
cat_id serial NOT NULL,
cat_name character varying NOT NULL,
parent_id integer NOT NULL,
CONSTRAINT cat_id PRIMARY KEY (cat_id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE category
OWNER TO pgsql;
Run Code Online (Sandbox Code Playgroud)
parent_id是另一个类别的id.现在我有一个问题:如何与其子级级联删除记录?我需要将parent_id设置为cat_id的外键.我试试这个:
ALTER TABLE category
ADD CONSTRAINT cat_cat_id_fkey FOREIGN KEY (parent_id)
REFERENCES category (cat_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)
但它落在:
ERROR: insert or update on table "category" violates foreign key constraint "cat_cat_id_fkey"
DETAIL: Key (parent_id)=(0) is not present in table "category".
Run Code Online (Sandbox Code Playgroud) Oracle SQL-Developer生成已经存在的数据库表(项)的DDL语句.生成的DDL语句无法在新的数据库实例中应用,这很奇怪.这是DDL的简化示例
CREATE TABLE AB
(
"A" NUMBER(*,0),
"B" NUMBER(*,0),
"C" VARCHAR2(255 BYTE),
CONSTRAINT "CHK_AB_A_NN" CHECK (A IS NOT NULL) ENABLE,
CONSTRAINT "CHK_AB_B_NN" CHECK (B IS NOT NULL) ENABLE,
CONSTRAINT "PK_AB" PRIMARY KEY ("A", "B")
);
CREATE INDEX "IDX_AB_A" ON "AB"("A");
CREATE INDEX "IDX_AB_B" ON "AB"("B");
CREATE UNIQUE INDEX "PK_AB" ON "AB"("A", "B");
Run Code Online (Sandbox Code Playgroud)
如果我在新的oracle实例中执行这些语句,我会收到错误:
SQL-Fehler: ORA-01408: Diese Spaltenliste hat bereits einen Index
1. 00000 - "such column list already indexed"
这个错误的原因是什么?
java ×5
security ×3
jboss ×2
oracle ×2
sql ×2
alter-table ×1
cryptography ×1
database ×1
foreign-keys ×1
jboss7.x ×1
json ×1
jsonschema ×1
linkageerror ×1
oracle11g ×1
postgresql ×1
rest ×1
resteasy ×1
rsa ×1
sql-server ×1
ssl ×1
string ×1
t-sql ×1
validation ×1