我在各地到处搜寻Google,并在其他社区中询问,我一直前进到讨论该规范的oracle文档。但是,该文档更多地涵盖了方法的命名以及整个体系结构,实际上并未提出讨论如何实际编写一些代码来检查x509证书是否被撤销的方法。
也许这只是我头上的办法?但是如果有人可以帮助我,我肯定会感激不已,我已经将我的头撞在墙上大约一个星期了。
我有以下课程!
public class Task{
ObjectId id;
String title;
String description;
/* Getters and Setters removed for brevity */
}
Run Code Online (Sandbox Code Playgroud)
我有以下 mongoRepository 类,非常简单:
public interface TaskRepository extends MongoRepository<Task, String> {
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我还没有尝试扩展这个类 - 如果我想要一个 find 方法,我想在这里做什么,我可以只给它一个 Id 列表,然后取回我的相应任务列表?
我想我对这里的问题有一个很好的了解,但我绝对不知道如何解决它...
以下是我在dropwizard中启动应用程序的方法:
@Override
public void run(ServerConfiguration configuration, Environment environment)
{
// Setting up the database.
final DBIFactory factory = new DBIFactory();
final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "mysql");
//Hibernate
final UserDAO dao = new UserDAO(hibernate.getSessionFactory());
environment.jersey().register(new UserResource(dao));
final TemplateHealthCheck healthCheck = new TemplateHealthCheck(configuration.getTemplate());
environment.healthChecks().register("template", healthCheck);
// security
//****** Dropwizard security - custom classes ***********/
environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<User>()
.setAuthenticator(new BasicAuth(dao))
.setAuthorizer(new BasicAuthorizer())
.setRealm("BASIC-AUTH-REALM")
.buildAuthFilter()));
environment.jersey().register(RolesAllowedDynamicFeature.class);
environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class));
}
Run Code Online (Sandbox Code Playgroud)
现在,正如你在这里看到的那样,我将我的用户dao传递给我的身份验证器......我在网上看到的没有教程就是这样,这是因为每个在线教程都使用硬编码值而不是显示如何查询数据库.
也就是说,这就是我试图验证的方式......
public class BasicAuth implements Authenticator<BasicCredentials, User> {
UserDAO _userDAO;
final Encryption …Run Code Online (Sandbox Code Playgroud) 我有以下用于数据库身份验证的 Authenticator 类:
public class DBAuthentication implements Authenticator<BasicCredentials, User> {
private UserDAO userDAO;
public DBAuthentication(UserDAO userDAO) {
this.userDAO = userDAO;
}
@Override
public Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException{
return userDAO.findByUsernamePassword(credentials.getUsername(), credentials.getPassword());
}
}
Run Code Online (Sandbox Code Playgroud)
然后当我想对资源进行身份验证时,我只需执行以下操作:
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/secured")
@UnitOfWork
public String aliveSecure(@Auth User user)
{
return "working.";
}
Run Code Online (Sandbox Code Playgroud)
这是一种简单的经过身份验证的方法 - 而且效果很好...但是,假设我想让用户登录,然后获取他们可以用于将来请求的令牌,直到令牌过期...我会假设(如果我错了,请纠正我)我会做一些事情,比如拥有一个资源,它将获取凭据,然后在响应中返回令牌,以便存储在客户端上 - 这很好......但如果我这样做那么,我稍后将如何针对令牌进行身份验证?
我通过使用scrypt算法然后存储该字符串,在一分钟内将密码存储在数据库中.
我正在进行密码检查,然后对所提供的密码进行哈希处理,并对其进行检查.
我的问题是,我是否想要增加更多安全性?我也应该加密加密的字符串吗?
我有以下关系神器:
com/companyName/my-awesome-util/0.0.0/my-awesome-util-0.0.0.jar
Run Code Online (Sandbox Code Playgroud)
我完全不知道如何在我的 gradle 构建文件中获取它。我已经用谷歌搜索了它,遵循了示例,但我无法让它工作。我来自 Maven 世界,我只需要让这件事起作用,这样我至少可以了解我将来需要做什么。
我正在尝试使用以下命令构建我的 dropwizard 项目:
mvn package
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on project rest-api: Error creating shaded jar: error in opening zip file /Users/ldelaney/.m2/repository/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar
Run Code Online (Sandbox Code Playgroud)
我检查过,罐子就在那里,就在maven正在寻找的地方。
我也尝试过把它吹走,然后运行:
mvn clean
mvn package
Run Code Online (Sandbox Code Playgroud)
但错误不会消失。我的 IDE 没有显示任何错误。
另外,这是我对 POM 的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是整个 POM 文件。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.test</groupId>
<artifactId>rest-api</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<dropwizard.version>1.0.5</dropwizard.version>
<mongodriver.version>3.4.2</mongodriver.version>
<mysqlConnector.version>5.1.36</mysqlConnector.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<dependencies>
<!-- Drop Wizard -->
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-auth</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard</groupId> …Run Code Online (Sandbox Code Playgroud) 我真的以为这很简单:
string(myInt)
Run Code Online (Sandbox Code Playgroud)
似乎没有。
我正在编写一个函数,该函数需要一个int切片,并将每个int附加到字符串中,并在每个int之间添加分隔符。这是我的代码。
func(xis *Int16Slice) ConvertToStringWithSeparator(separator string) string{
var buffer bytes.Buffer
for i, value := range *xis{
buffer.WriteString(string(value))
if i != len(*xis) -1 {
buffer.WriteString(separator)
}
}
return buffer.String()
}
Run Code Online (Sandbox Code Playgroud)
请阅读下面的句子。这不是如何在Go中将int值转换为字符串的重复项?-因为:我知道诸如strconv.Itoa函数之类的东西,但似乎只能在“常规” int上使用。它不支持int16
我正在尝试编写一个最终可能采用任何结构的函数...让我们说它是这样的:
func setDate(s timestamp, data interface{}){
data.Date = timestamp
}
Run Code Online (Sandbox Code Playgroud)
我意识到我不需要在现实生活中设置这个值的功能,我试图更多地了解接口的工作方式等.
我有以下Perl代码.我知道最终结果是什么:如果我运行它并传入x9.37文件,它将吐出每个文本字段.这很好,但我试图将其移植到另一种语言,我根本无法读取Perl.如果有人可以把它变成某种形式的伪代码的(我不需要使用的Java - 我能写的那部分)我只是需要有人来解释一下什么是在下面的Perl的事情!
#!/usr/bin/perl -w
use strict;
use Encode;
my $tiff_flag = 0;
my $count = 0;
open(FILE,'<',$ARGV[0]) or die 'Error opening input file';
binmode(FILE) or die 'Error setting binary mode on input file';
while (read (FILE,$_,4)) {
my $rec_len = unpack("N",$_);
die "Bad record length: $rec_len" unless ($rec_len > 0);
read (FILE,$_,$rec_len);
if (substr($_,0,2) eq "\xF5\xF2") {
$_ = substr($_,0,117);
}
print decode ('cp1047', $_) . "\n";
}
close FILE;
Run Code Online (Sandbox Code Playgroud) dropwizard ×2
go ×2
java ×2
rest ×2
build.gradle ×1
cryptography ×1
encryption ×1
gradle ×1
hibernate ×1
interface ×1
jwt ×1
maven ×1
mongodb ×1
perl ×1
scrypt ×1
spring ×1
spring-data ×1
ssl ×1
struct ×1