简体   繁体   English

在Mac OS X机器上使用XCode到Windows Server 2008上的Subversion的Windows身份验证/ SSO

[英]Windows authentication / SSO on using XCode on a Mac OS X machine to Subversion on Windows Server 2008

I have been tasked to come up with a code repository to host our Objective-C code for in-house developed iOS apps. 我的任务是提供一个代码库,以托管我们内部开发的iOS应用程序的Objective-C代码。 While we do have an existing Microsoft TFS instance, the available solutions to bridge TFS with XCode such as SVNBridge and Team Explorer Everywhere are a bit cumbersome and "hackish" for our requirements. 虽然我们确实有一个现有的Microsoft TFS实例,但是将TFS与XCode桥接的可用解决方案(例如SVNBridge和Team Explorer Everywhere)对于我们的要求来说有点麻烦和“棘手”。

I'm recommending to use Subversion, but we are mainly a Microsoft house and use Windows authentication/SSO/Kerberos for our authentication requirements. 我建议使用Subversion,但我们主要是Microsoft公司,请使用Windows身份验证/ SSO / Kerberos满足我们的身份验证要求。 My questions are as follows: 我的问题如下:

  • Does SVN support these authentication protocols? SVN是否支持这些身份验证协议?
  • Obviously we need to use Mac OS X/XCode for development - while Mac OS X can support windows domain authentication, how will this work if we need to integrate the authentication with SVN, using SSO? 显然,我们需要使用Mac OS X / XCode进行开发-尽管Mac OS X可以支持Windows域身份验证,但是如果我们需要使用SSO将身份验证与SVN集成在一起,这将如何工作?

Thanks in advance! 提前致谢!

Doing some further research, I was able to find my own answers and also went further as to create a working proof-of-concept. 经过一些进一步的研究,我找到了自己的答案,并且进一步创建了可行的概念证明。

Does SVN support these authentication protocols? SVN是否支持这些身份验证协议? From what I learned SVN can support Windows authentication by running SVN within Apache and using the SSPI modules to interact with your windows domain controller. 据我了解,SVN可以通过在Apache中运行SVN并使用SSPI模块与Windows域控制器进行交互来支持Windows身份验证。 These links were very helpful: 这些链接非常有帮助:

Version Control Using SVN + Apache 使用SVN + Apache进行版本控制

http://geekswithblogs.net/flanakin/archive/2005/08/31/51743.aspx http://geekswithblogs.net/flanakin/archive/2005/08/31/51743.aspx

Obviously we need to use Mac OS X/XCode for development - while Mac OS X can support windows domain authentication, how will this work if we need to integrate the authentication with SVN, using SSO? 显然,我们需要使用Mac OS X / XCode进行开发-尽管Mac OS X可以支持Windows域身份验证,但是如果我们需要使用SSO将身份验证与SVN集成在一起,这将如何工作? What's not clear to me here is what Xcode uses to authenticate to SVN - the Mac credentials OR the credentials entered when using svn in the command line. 这里我不清楚Xcode用于验证SVN的身份-Mac凭据或在命令行中使用svn时输入的凭据。 One thing i noticed is that Xcode will not work / connect or authenticate with SVN unless you do a checkout in the command line. 我注意到的一件事是,除非您在命令行中执行签出操作,否则Xcode将无法与SVN一起使用/连接或进行身份验证。 I'm assuming Xcode uses these credentials in a way. 我假设Xcode以某种方式使用这些凭据。 Once a checkout has been performed and Xcode restarted, I am able to connect to my repositories without a hitch. 一旦执行了结帐并重新启动了Xcode,我就可以顺利连接到我的存储库。 There is also no need to enter the credentials in the username and password fields of your repository in Organizer. 也无需在管理器中的存储库的用户名和密码字段中输入凭据。

It is important to note that what happens in the client side (Xcode and svn command-line) in terms of authentication is it's still Basic Auth, so your credentials are sent through the wire in clear base64 encoded text. 重要的是要注意,就身份验证而言,在客户端(Xcode和svn命令行)上发生的事情仍然是基本身份验证,因此您的凭据将以透明的base64编码文本通过网络发送。 SSL/TLS should be implemented to circumvent this risk. 应该实施SSL / TLS来规避这种风险。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM