问题列表 - 第13613页

Java和Kerberos身份验证krb5.conf与System.setProperty的对比

请帮我解决kerberos + Java问题.我有一个简单的Java程序,可以使用Kerberos对Windows Active Directory进行身份验证.以下java代码工作正常没有任何问题,并打印真实 -

public class KerberosAuthenticator {
    public static void main(String[] args) {
        String jaasConfigFilePath = "/myDir/jaas.conf";

        System.setProperty("java.security.auth.login.config", jaasConfigFilePath);

        System.setProperty("java.security.krb5.realm", "ENG.TEST.COM");
        System.setProperty("java.security.krb5.kdc","winsvr2003r2.eng.test.com");

        boolean success = auth.KerberosAuthenticator.authenticate("testprincipal", "testpass");

        System.out.println(success);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我指定krb5.conf文件的路径而不是手动指定领域和kdc时,它会错误地说"Null领域名称(601) - 未指定默认领域".以下是代码 -

public class KerberosAuthenticator {
    public static void main(String[] args) {
        String jaasConfigFilePath = "/myDir/jaas.conf";

        System.setProperty("java.security.auth.login.config", jaasConfigFilePath);

        String krb5ConfigFilePath = "/etc/krb5/krb5.conf";
        System.setProperty("java.security.krb5.conf", krb5ConfigFilePath);

        boolean success = auth.KerberosAuthenticator.authenticate("testprincipal", "testpass");

        System.out.println(success);
    }
}
Run Code Online (Sandbox Code Playgroud)

krb5.conf的内容如下 -

[libdefault]
 default_realm = ENG.TEST.COM

[realms]
 ENG.TEST.COM = {
  kdc = winsvr2003r2.eng.test.com …
Run Code Online (Sandbox Code Playgroud)

java kerberos jaas

18
推荐指数
1
解决办法
3万
查看次数

是否有任何.NET库在控制台(textmode)中绘制表格?

在为自己编写一个小型C#应用程序时,我意识到如果我可以轻松地在textmode中绘制表格,它会很简洁.你知道,像这样:

+-----------------+-----------------+
|     Header 1    |    Header 2     |
+--------+--------+--------+--------+
| Data 1 | Data 2 | Data 3 | Data 4 |
| Data 1 | Data 2 | Data 3 | Data 4 |
| Data 1 | Data 2 | Data 3 | Data 4 |
+--------+--------+--------+--------+
Run Code Online (Sandbox Code Playgroud)

快速的谷歌搜索没有透露任何信息.有没有这样的现成品,或者我应该推出自己的?

补充:理想版本支持:

  • 行/列跨度;
  • 不同的边框宽度和样式;
  • 水平和垂直文本对齐方式

但我也会满足于少.:)

.net console

2
推荐指数
1
解决办法
615
查看次数

使用java进行深度优先搜索

我想使用java实现DFS(深度优先搜索)和BFS。

java 是否有一个我可以轻松使用的内置树数据结构?或者我可以使用任何其他东西吗?

java tree breadth-first-search depth-first-search

0
推荐指数
1
解决办法
9457
查看次数

java运行时6用socks v5代理 - 可能吗?

我编写了一个应用程序(除其他外)在Windows中运行本地服务,充当Firefox的SOCKS v5代理.

我现在正处于调试阶段,发现某些网站无法正常运行.例如,Facebook.com上的图片上传Java Applet失败,因为无法查找域.

我的应用程序覆盖隐藏的FF配置设置network.proxy.socks__remote__dns将其设置为true.该应用程序的整个目的是允许在防火墙后面访问网站(例如,如果用户在中国),因此此设置对于确保远程解析域(而不仅仅是HTTP请求)至关重要.

在JRE6设置(此处记录)中没有等效的设置,因为远程DNS解析是SOCKS v5的一个功能而不是v4,因为文档似乎意味着我担心它是不可能的.

如何以编程方式确保JRE对所有请求(包括DNS)使用SOCKS v5代理?


更新:重现此问题的步骤:

  1. 确保您位于阻止(或重定向)Internet访问(包括DNS)的防火墙后面
  2. 安装PuTTY并在您选择的某个端口号上添加动态SSH隧道(例如9870).然后登录到可以完全访问Internet的远程服务器
  3. 启动Firefox,您将无法浏览网页
  4. 在FF网络设置中,将SOCKS v5代理设置为localhost:9870
  5. 在FF中转到about:config,将network.proxy.socks__remote__dns更改为true
  6. 您现在可以浏览网页了.
  7. 转到facebook.com,登录,转到您的个人资料并尝试使用图片上传器java applet添加一些图片
  8. 它会因一系列类未找到的错误而失败,类似于:

    load:未找到类com.facebook.facebookphotouploader5.FacebookPhotoUploader5.class.

我相信这是失败的,因为JRE无法解析该类所在的域.我基于这样的信念,即文档(http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html)仅讨论SOCKS v4(其中据我所知,不支持远程DNS).我的deployment.properties文件位于%APPDATA%\ Sun\Java\Deployment中.我可以确认我在Java控制面板中进行的修改会写入该文件.如果不是"使用浏览器设置"而是Java的网络设置覆盖并尝试手动使用SOCKS代理设置,我仍然遇到问题.似乎没有一种简单的方法可以强制JRE通过代理远程执行DNS.


更新2:

没有SOCKS代理,来自我的本地客户端

  • www.facebook.com解析为203.161.230.171
  • upload.facebook.com解析为64.33.88.161

两个主机都不可访问(因为防火墙)

如果我登录到远程服务器,我会得到:

  • www.facebook.com 69.63.187.17
  • upload.facebook.com 69.63.178.32

几分钟后这两个IP都会发生变化,因为Facebook似乎使用循环DNS和其他负载均衡.

通过在Firefox中设置代理设置,我可以毫无困难地导航到www.facebook.com(因为DNS正在代理上远程解析).我转到带有Java applet的页面,它已经失败了,我已经报告了堆栈跟踪消息.

但是,如果我编辑Windows\System32\drivers\etc\hosts,为upload.facebook.com添加正确的IP我可以让applet加载并正常工作(有时需要重启FF).

这个证据似乎支持了我的理论,即Java Runtime 没有在代理上解析DNS,而只是通过它来路由流量.

我的应用程序是用于大规模部署,并且需要在其他站点(而不仅仅是facebook)上使用java applet.我真的需要解决这个问题.


更新3由ZZ Coder请求的Stacktrace转储:

load: class com.facebook.facebookphotouploader5.FacebookPhotoUploader5.class not found.
java.lang.ClassNotFoundException: com.facebook.facebookphotouploader5.FacebookPhotoUploader5.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java firefox proxy socks

8
推荐指数
2
解决办法
7179
查看次数

16
推荐指数
1
解决办法
2万
查看次数

如何读取包含特殊字符的ANSI编码文件

我正在写一个TFS Checkin策略,它检查我们的源文件是否包含我们的文件头.

我的问题是,我们的文件头包含一个特殊字符"©",不幸的是我们的一些源文件是用ANSI编码的.因此,如果我在策略中读取这些文件,则字符串看起来像"Copyright 2009".

string content = File.ReadAllText(pendingChange.LocalItem);
Run Code Online (Sandbox Code Playgroud)

我厌倦了改变字符串的编码,但它没有帮助.那么如何阅读这些文件,我得到了正确的字符串"Copyright©2009"?

感谢帮助!

关心恩伊

c# encoding ansi

59
推荐指数
3
解决办法
7万
查看次数

Timer类驻留在python中的哪个模块?

我正在阅读python 2.5 的以下在线计时器手册,但我想知道Timer类所在的实际模块在哪里?

迦特

python timer

3
推荐指数
1
解决办法
270
查看次数

如何使用javascript/jquery写onshow事件?

我的页面上有一个锚标记,我想要一个附加到它的事件,当这个元素的显示发生变化时会激活.

我怎么写这个活动?并且只要这个元素的显示发生变化就会捕获?

html javascript jquery dom javascript-events

14
推荐指数
2
解决办法
4万
查看次数

使用python脚本删除文件

我想用python脚本删除一些文件(使用Windows时).我试过以下代码:

>>>import os
>>> os.remove ('D:\new.docx')
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in -toplevel-

    os.remove ('D:\new.docx')
OSError: [Errno 22] Invalid argument: 'D:\new.docx'
Run Code Online (Sandbox Code Playgroud)

这里的任何人都可以帮我吗?

谢谢.

吉拉尼

python file

2
推荐指数
2
解决办法
537
查看次数

如何在python中获取一个小的ascii文件的内容?

假设我们想要实现PHP的等价物file_get_content.

什么是最佳做法?(优雅可靠)

这是一些命题,它们是否正确?

使用with声明:

def file_get_contents(filename):
    with file(filename) as f:
        s = f.read()
    return s
Run Code Online (Sandbox Code Playgroud)

使用标准open()安全?

def file_get_contents(filename):
    return open(filename).read()
Run Code Online (Sandbox Code Playgroud)

在任一解决方案中文件描述符会发生什么

python file

36
推荐指数
1
解决办法
3万
查看次数