小编Mar*_*ica的帖子

是否有Java端口或等效的EventStore库?

我已经阅读了Jonathan Oliver的.NET EventStore库,我必须说这个概念对我很有吸引力:只有一个简单的无依赖库,它是非侵入式的,只关注事件来源,留下了很多选择数据库,消息传递等技术时的自由

我的问题:Java世界中是否也有类似的东西?我知道有各种与CQRS相关的框架,比如AxonJdon,但这些框架不仅仅是事件采购......也许是在任何一个简单的端口上工作的人?

.net java cqrs event-sourcing event-store

5
推荐指数
1
解决办法
1831
查看次数

如何在 .NET Web 应用程序中为经过身份验证的用户获取 UPN,而不查询 Active Directory

(这个问题类似于Get UPN or email for login user in a .NET web application,但不完全相同。)

在使用 Windows 身份验证的 .NET (C#) Web 应用程序中,我想找到登录用户的 UPN。

我知道如何通过查询 Active Directory 来做到这一点:从HttpContext.Current.User.Identity as WindowsIdentity;获取 'DOMAINNAME\userName' 在 下查找 DOMAINNAMEldap://RootDSE并找到它dnsRoot;查询(&(objectCategory=person)(objectClass=user)(sAMAccountName=...userName...))ldap://...dnsRoot...;获取此条目的userPrincipalName属性。(更多细节在回答/sf/answers/35956791/ 中)。

我的问题:是否可以在调用 Active Directory 的情况下找到 UPN ?鉴于 Microsoft 专注于在任何地方使用 UPN,UPN 是不是已经存储在用户向 Web 服务器进行身份验证时创建的令牌中的某处?

(支持观察:如果我whoami /upn在 Windows 7 上运行,那么 Wireshark 不会显示任何 Active Directory 连接。)

(如果有什么不同:请注意,我们的 Web 应用程序不使用 …

.net active-directory upn

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

如何让Maven构建失败警告?

有时我的Maven构建会发出警告,即Maven输出有一行开头[WARNING].(我不是在谈论,例如,编译的Java代码中的警告,但是,例如,警告正在创建一个空的jar文件.)

在这种情况下,我希望我的构建失败.我怎么做?

warnings maven

5
推荐指数
1
解决办法
1891
查看次数

URL片段作为SAML令牌身份验证的一部分丢失; 变通方法/标准模式?

一些Web应用程序身份验证协议(如WS-Federation和SAML协议,即所谓的"被动"协议,以及显然也是ASP.NET Forms身份验证,请参阅此StackOverflow问题,以及AppEngine,请参阅此GWT错误评论)丢失原始的'URL片段',即#-sign之后的部分.

会发生什么大致如下:在干净的浏览器中(所以没有缓存的信息/ cookie /登录信息)我打开URL(1)http://example.com/myapp/somepage?some=parameter#somewhere.这使浏览器请求(2)http://example.com/myapp/somepage?some=parameter,服务器将我重定向到我的身份提供者(包括身份验证请求中的URL(2)),最终我被重定向回到我来自的地方,即URL(2):这是服务器知道的唯一URL.但是我想去URL(1),并且URL片段('anchor')在此过程中已经丢失,实际上已经是第一步了.

这似乎是这些协议的基本限制,因为服务器根本不会看到URL片段.

我知道根据规范,浏览器从服务器请求(2),当我导航到(1)时,导致这个片段丢失限制SAML协议,WS-Federation等.我的问题是:怎么做我解决这个限制?

显而易见的解决方法是避免URL碎片,如本答案中所述.但是,对于我们的特定Web应用程序并不好,因为我们在单页GWT应用程序中使用可收藏的URL片段,以确保我们的应用程序中的导航不会导致页面重新加载.

我的问题:这种情况还有哪些其他解决方法或标准模式?

(我对GWT + SAML协议解决方案特别感兴趣.)

gwt uri-fragment saml-2.0 ws-federation gwt-places

5
推荐指数
1
解决办法
1844
查看次数

用于声明模式xRM(Microsoft Dynamics CRM 2011)的Apache CXF客户端?

我正在尝试为Microsoft Dynamics CRM 2011("xRM")Web服务(我理解为基于WCF 4)创建Apache CXF(2.7.5)客户端,其中CRM处于声明模式,因此WSDL这个Web服务指向STS(在我的情况下是AD FS 2.0).

我的主要问题:是否有任何教程,建议,博客文章可以帮助我(描述如何发送声明,或如何避免它们,而是使用Windows身份验证)?

以下是我到目前为止所做的事情的描述.


我已经拥有相同Web服务的工作代码,当CRM处于Windows身份验证模式时,该服务可以正常运行.该代码基于Groovy Tom博客上的"CXF和MS CRM 2011".

为了支持声明模式,我还需要包含org.apache.cxf:cxf-rt-ws-mex,以便CXF可以解析xRM WSDL.然后我需要让CXF内置的STS客户端使用SOAP 1.2:

client.getRequestContext().put("ws-security.sts.client-soap12-binding", "true");
Run Code Online (Sandbox Code Playgroud)

避免来自AD FS 2.0的错误500.(显然AD FS 2.0期望使用SOAP 1.2调用/ adfs/services/trust/mex端点,而CXF默认使用SOAP 1.1.我必须从AD FS的WCF跟踪中找到它,

System.ServiceModel.ProtocolException:Content Type text/xml; charset = UTF-8被发送到期望application/soap + xml的服务; 字符集= UTF-8.客户端和服务绑定可能不匹配.

当Apache CXF使用SOAP 1.1时.)

然后还有另一个问题:AD FS的/ adfs/services/trust/mex端点返回的WSDL似乎不完整,因为它包含

<wsdl:types>
    <xsd:schema
        targetNamespace="http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice/Imports">
        <xsd:import namespace="http://schemas.microsoft.com/Message" />
        <xsd:import namespace="http://schemas.xmlsoap.org/ws/2005/02/trust" />
        <xsd:import namespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512" />
    </xsd:schema>
</wsdl:types>
Run Code Online (Sandbox Code Playgroud)

所以没有import一个人有schemaLocation.这让CXF抱怨道

org.apache.cxf.wsdl11.WSDLRuntimeException:部件请求定义为元素{ http://docs.oasis-open.org/ws-sx/ws-trust/200512 …

wcf cxf adfs claims-based-identity dynamics-crm-2011

5
推荐指数
1
解决办法
2677
查看次数

如何将 Windows 路径转换为文件:URL,批处理文件中,适合 SVN 命令行使用

在基于 Windows 的 SVN 安装(使用 CollabNet Subversion Edge)中,我有一个提交后挂钩批处理文件,我在其中构建了一个存储库文件夹名称,我需要svnsync使用file:指向该 Windows 文件夹URL。

现在的问题是:如何将 Windows 文件夹或文件名转换为file:URL,以使该 URL 至少为 SVN 命令行工具所接受?

svn windows batch-file svnsync file-uri

5
推荐指数
1
解决办法
4182
查看次数

如何从Eclipse插件运行ant,将输出发送到Eclipse控制台,以及捕获构建结果(成功/失败)?

从Eclipse插件中,我想运行一个Ant构建脚本。我还想通过在Eclipse控制台中显示它来向用户显示Ant输出。最后,我还想等待Ant构建完成,并捕获结果:构建成功还是失败?

我发现了三种从Eclipse运行Ant脚本的方法:

  • 实例化一个org.eclipse.ant.core.AntRunner,调用一些设置器,然后调用run()run(IProgressMonitor)。结果要么是正常终止(表示成功),要么是CoreException IStatus包含BuildException(表示失败),否则是其他问题。但是,我在任何地方都看不到Ant输出。
  • 实例化org.eclipse.ant.core.AntRunnerand调用run(Object),并传递一个String[]包含命令行参数的。结果是正常终止(指示成功)或InvocationTargetException(指示失败),否则其他地方出了问题。看来,Ant输出被发送到Eclipse的stdout了。在Eclipse本身中不可见。
  • 调用DebugPlugin.getDefault().getLaunchManager(),然后调用getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE),然后在set属性上将"org.eclipse.ui.externaltools.ATTR_LOCATION"构建文件名(属性设置DebugPlugin.ATTR_CAPTURE_OUTPUT为true),最后调用launch()。Ant输出显示在Eclipse控制台中,但是我不知道如何在我的代码中捕获构建结果(成功/失败)。或如何等待发射终止。

有什么办法可以同时获得控制台输出捕获结果?

eclipse ant console

4
推荐指数
1
解决办法
5904
查看次数

如何将Haskell嵌入批处理文件(hash-bang runhaskell for Windows)?

在安装了GHC的类UNIX系统上,我可以创建一个包含以下内容的文件

#!/usr/bin/env runhaskell
main = putStrLn "Hello, I am a UNIX script file."
Run Code Online (Sandbox Code Playgroud)

使文件可执行,这将执行给定的Haskell代码.

如何在Windows .bat文件中执行等效操作?

最好不要创建额外的文件,不设置环境变量,如果使用UNC路径或包含空格的路径访问批处理文件,它也可以工作,Haskell命名空间不会被污染,如果Haskell代码包含,则会产生合理的行为错误.

windows haskell cmd batch-file shebang

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

getaddrinfo_a线程安全吗?

我想使用getaddrinfo_a函数.这个方法线程安全吗?在手册页示例中,使用全局列表来解析主机名.如果我在用户空间中操作该列表,那么它是否安全?伪码如下:

static struct gaicb **reqs =NULL; // global list of hostname to resolve.

addToList() {
   ret =
      getaddrinfo_a(
         GAI_NOWAIT,
         &reqs[nreqs_base], 
         nreqs - nreqs_base,
         NULL ); // enque hostname queue.
}

//another thread  method
dequeu_list( int i ) {
   struct gaicb * result = reqs[i] ;
   reqs[i] = NULL;
}
Run Code Online (Sandbox Code Playgroud)

c linux multithreading posix

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