小编Mar*_*ann的帖子

Java HttpsURLConnection和TLS 1.2

我在一篇文章中读到了HttpsURLConnection 透明地协商SSL连接的文章.

官方文件说:

该类使用HostnameVerifier和SSLSocketFactory.为这两个类定义了默认实现.[ 1 ]

这是否意味着一旦你打开一个连接

httpsCon = (HttpsURLConnection) url.openConnection();
Run Code Online (Sandbox Code Playgroud)

它已经加密了SSL/TLS而没有任何麻烦吗?

如何查看和设置标准实现的TLS版本?(应该是Java 8的TLS 1.2和Java 7的TLS 1.0)

参考

  1. 甲骨文公司(2011年).javax.net.ssl.HttpsURLConnection.(JavaDoc的)

java ssl httpsurlconnection

25
推荐指数
2
解决办法
5万
查看次数

获取与c#中的ProcessStartInfo一起使用的可用动词(文件关联)列表

我正在尝试使用ProcessStartInfo类打开和打印文件.(文件可以是任何东西,但我们假设它是一个PDF文件)

  ProcessStartInfo pi = new ProcessStartInfo(file);
  pi.Arguments = Path.GetFileName(file);
  pi.WorkingDirectory = Path.GetDirectoryName(file);
  pi.Verb = "OPEN";  
  Process.Start(pi);
Run Code Online (Sandbox Code Playgroud)

这适用于pi.Verb = "OPEN";.一些应用程序也使用动词"PRINT"注册自己,但只有一些应用程序注册.在我的情况下(Windows PDF Viewer)我尝试执行时遇到异常pi.Verb = "PRINT";

有没有办法在运行时查看C#中特定类型的所有动词?

多谢

c# processstartinfo file-association

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

GetAuthorizationGroups()错误地假设我是域管理员

我有一个域组名称,并且必须检查域用户是否是递归的一部分.在我的用户域名为prinical之后,我尝试通过所有授权组

using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
{
     UserPrincipal userPrin = UserPrincipal.FindByIdentity(ctx, userToCheck);
     if (userPrin != null)
     {
         foreach (GroupPrincipal group in userPrin.GetAuthorizationGroups())
         {
               if (group.Name.Equals(groupName, System.StringComparison.OrdinalIgnoreCase))
               { 
                    if (group.Context.Name.StartsWith(domain, StringComparison.OrdinalIgnoreCase))
                    {
                       return true;
                    }
               }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

[我知道,startsWith可能不是最好的方式,但一切都像一个魅力]

唯一的问题:我有两个帐户都不属于域的内置管理员组.找到两个用户主体并枚举组但是:对于一个用户,检查内置管理员组时结果为FALSE对于一个用户,检查内置管理员组时结果为TRUE

我知道检查的组确实是两次尝试的正确域对象.

为什么说一个帐户在该组中?

UPDATE

通过cmd(网络用户/域)进行搜索时,该组不会显示.从另一台计算机运行代码(同一用户是查询)时,该组也不会显示.但是,如果您查询以管理员身份登录的当前用户,则认为该用户位于该组中

CN=Administratoren,CN=Builtin,DC=domain,DC=de
Run Code Online (Sandbox Code Playgroud)

这是错的.他可能在本地组,但绝对不在域管理员组中.该组的SID是S-1-5-32-544 btw.

UPDATE2

由于PrincipalContext内部使用DirectorySearcher,我试图与目录搜索器一起使用解决方案.它只返回正确的组.(虽然我现在还不确定它是否具有像Principle上下文一样的递归组搜索功能)

因此,无论这是一个bug或者有事情做与其他组 一样dlatikay指出

此方法以递归方式搜索所有组,并返回用户所属的组.返回的集合还可以包括系统将用户视为授权目的的其他组.

此方法返回的组可能包括来自与主体不同的范围和存储的组.例如,如果主体是AD DS对象,其DN为"CN = SpecialGroups,DC = Fabrikam,DC = com,则返回的集合可以包含属于"CN = NormalGroups,DC = Fabrikam,DC =的组COM.

但是为什么它会返回其他组,我必须确保用户确实在返回的组中享有特权.

c# authentication active-directory c#-4.0

6
推荐指数
0
解决办法
313
查看次数