Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jetty Web服务器安全性_Java_Security_Jetty - Fatal编程技术网

Java Jetty Web服务器安全性

Java Jetty Web服务器安全性,java,security,jetty,Java,Security,Jetty,我有一个由Jetty提供动力的网站 我想让网站密码保护(或类似) 是否有一种方法可以单独通过配置来实现这一点(无需接触代码) 非常感谢大家的帮助 Dan一种方法是为应用程序设置基本身份验证。只有在使用ssl的情况下才应该这样做,但是没有ssl的登录是不安全的,所以我想你已经有了 在Jetty中有很多方法可以做到这一点,这只是其中之一 首先,您必须定义一个域,在其中定义所有用户、密码、角色等。Jetty中的默认设置已经定义了一个称为“测试域”的域。域在文件/etc/jetty-testrealm.

我有一个由Jetty提供动力的网站

我想让网站密码保护(或类似)

是否有一种方法可以单独通过配置来实现这一点(无需接触代码)

非常感谢大家的帮助


Dan

一种方法是为应用程序设置基本身份验证。只有在使用ssl的情况下才应该这样做,但是没有ssl的登录是不安全的,所以我想你已经有了

在Jetty中有很多方法可以做到这一点,这只是其中之一

首先,您必须定义一个域,在其中定义所有用户、密码、角色等。Jetty中的默认设置已经定义了一个称为“测试域”的域。域在文件/etc/jetty-testrealm.xml中定义。您可以使用此领域或创建一个新领域。如果定义新的,可以在同一文件或单独的文件中定义。如果创建单独的文件,请记住将该文件包含在start.ini中

/etc/jetty-testrealm.xml引用了/etc/realm.properties。这是您创建用户的地方。如果只想使用测试领域,请记住删除realm.properties中已定义的默认用户

还有其他类型的领域实现,即使用数据库存储用户数据

接下来,打开/etc/webdefault.xml文件并在底部添加如下内容:


/*      
管理
用户
调解人
基本的
测试领域

我发现jetty分发版提供的示例非常有用。 要使用文本文件中的用户帐户使用基本身份验证,请查看{jetty.home}/demo base/etc目录。将这两个文件复制到{jetty.base}/etc文件夹:realm.properties,test-realm.xml

除非你告诉Jetty,否则它不会正确加载这些文件。这可以通过将以下文本添加到{jetty.base}/start.d文件夹中的start.ini或任何*.ini文件中来实现:

# Create and configure the test realm
etc/test-realm.xml
jetty.demo.realm=etc/realm.properties
最后,创建一个web.xml文件(如果尚未创建),并在前面的答案中插入@sstendal/@Torsten提供的示例。它使用与jetty发行版中的demo base示例相同的真实名称,因此应该可以工作。
重新启动jetty并尝试访问任何web资源。您的浏览器或客户端应要求您提供凭据。例如用户/密码。

都在文档中()。不幸的是,这些文档组织得非常糟糕。你还应该通过你的应用程序包括defaultDescriptor。上下文文件:/etc/webdefault.xml