Articles of authentication

使用httpclient \ kerberos以编程方式设置用户名,而不是提示

我有一个linux \ java6客户端,它将通过KERBEROS向sharepoint2010进行身份validation,然后使用Apache Commons HttpClient 4.2发送HTTP REST Web服务 如果我在连接我的客户端运行之前,从命令行"kinit myuser@mydomain"运行平滑。 我的问题是,如果我不运行kinit,我得到一个用户名提示。 如何在不提示用户名的情况下以编程方式进行身份validation,而无需运行命令行程序? (我创build和keytab,并在login.conf中定义它,以便照顾密码提示,而不是用户promt) public static void main(String[] args) throws Exception { System.setProperty("java.security.auth.login.config", "login.conf"); System.setProperty("java.security.krb5.conf", "krb5.conf"); System.setProperty("sun.security.krb5.debug", "true"); System.setProperty("javax.security.auth.useSubjectCredsOnly","false"); DefaultHttpClient httpclient = new DefaultHttpClient(); try { httpclient.getAuthSchemes().register(AuthPolicy.SPNEGO, new SPNegoSchemeFactory()); Credentials use_jaas_creds = new Credentials() { public String getPassword() { return null; } public Principal getUserPrincipal() { […]

设置SFTP以使用公钥authentication

如何设置服务器到服务器的SFTP使用公钥authentication,而不是用户帐户和密码?

在.net中针对域控制器validation用户凭据

在.NET应用程序中,我试图通过用户名和密码对Windows用户,本地用户以及域用户进行身份validation。 我已经试过这个解决scheme 。 我的代码来获取PrincipalContext看起来如下: protected static PrincipalContext TryCreatePrincipalContext(String domain) { var computerDomain = TryGetComputerDomain(); if (String.IsNullOrEmpty(domain) && String.IsNullOrEmpty(computerDomain)) return new PrincipalContext(ContextType.Machine); else if (String.IsNullOrEmpty(domain)) return new PrincipalContext(ContextType.Domain, computerDomain); else return new PrincipalContext(ContextType.Domain, domain); } protected static String TryGetComputerDomain() { try { var domain = Domain.GetComputerDomain(); return domain.Name; } catch { return null; } } 这对于本地Windows用户以及ActiveDirectory中的远程用户都可以正常工作。 […]

集成Windows身份validation与IIS,Firefox和SQL Server

我有我的本地主机上运行IIS上的网站。 该网站的目录安全性设置为只允许集成Windows身份validation。 它是内联网的一部分,需要通过我们的域帐户进行身份validation。 然后,我使用连接string中的Integrated Security = SSPI连接到SQL Server。 这与Microsoft Internet Explorer一起工作正常,它在login到域时自动validation身份,并且我可以看到logon_user是我的域帐户,SQL Server连接string工作得很好。 但是,当我使用Firefoxlogin时,事情是不同的。 首先,我被提示进行身份validation,这是正确的,因为Firefox没有configuration为信任本地主机足以自动发送凭据(事实上,我知道如何引入这个信任,这不是问题)。 然后我login,这再好,只要我input域帐户的细节一切都很好。 事实上,一个或两个debugging语句显示logon_user仍然是我的域帐户,一切都很好。 但是,当我连接到SQL Server(运行在远程服务器框上,我的域帐户具有完整的系统pipe理员权限)时,出现以下错误: Microsoft OLE DB Provider for SQL Server (0x80040E4D) Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. 这表明在身份validation堆栈中出了问题,出于某种原因,当我使用来自Firefox的Windows身份validation进行身份validation时,IIS不会作为已validation的帐户运行。 使用Google Chrome时,这也可以正常工作。 有什么build议么?

有没有一种方法来访问Windows中的密钥环而不提供主密码?

我正在开发一个涉及连接到数据库的同事的脚本。 我们希望保持代码不依赖于我们中的哪一个人使用它,同时保持密码的私密性,而不必在工作日内反复validation。 经过一番search(我们都是Python的新手),似乎我们可以使用keyring来实现这个目的,所以我使用pip安装了它(根据我的安装datelogging,很可能是1.2.2版本的库)。 问题是,当我尝试访问我存储的密码时,系统会提示设置主密码以访问密钥环,如下所示(来自IDLE): >>> import keyring >>> keyring.set_password('Service', 'MyUsername', 'MyPassword') Warning (from warnings module): File "C:\Python27\lib\getpass.py", line 92 return fallback_getpass(prompt, stream) GetPassWarning: Can not control echo on the terminal. Warning: Password input may be echoed. Please enter password for encrypted keyring: 设置密码后,我可以很容易地获得和设置密码,直到我重新启动shell。 现在我必须再次input主密码: >>> ================================ RESTART ================================ >>> import keyring >>> print keyring.get_password('Service', 'MyUsername') […]

使用Windows身份validation在ASP.NET应用程序的子文件夹上禁用身份validation

是否有可能使用Windows身份validation禁用ASP.net应用程序的一个或多个子文件夹上的Windows身份validation? 例如: 一个网站包含几个其他文件夹,其中包含整个应用程序的一部分:/前端,/后端,/login bin文件夹与这些子文件夹(即网站的根目录)处于同一级别。 所有这些子文件夹都包含使用驻留在网站根目录的bin文件夹中的二进制文件的页面。 用户在访问后端文件夹中的页面时必须inputWindows凭据,而不是在login或前端文件夹中访问页面时inputWindows凭据。 我正在使用IIS7 有任何想法吗?

一组代码,两个身份validationscheme表单身份validation+ Windows身份validation:邪恶较less

我们有一个应用程序,当前需要使用两种身份validationscheme(表单身份validation和Active Directory或NTLM / Windows身份validation)进行访问。 现在的应用程序的方式,有两个IIS站点指向不同的文件夹与相同的一组文件,除了web.config一切都相同。 在任何人燃起我之前,这是一个inheritance的应用程序,但我现在负责。 我们有机会做一些重构,并试图找出最好的方法来进行。 比方说,对应用程序的直接NTLM身份validation的要求。 您必须能够通过集成的AD提示访问应用程序,从而使内部networking上的员工无需手动login即可访问该网站。 现在假设同样的应用程序也需要从组织外的用户访问。 使用表单authentication和成员资格提供程序。 什么是configuration这个应用程序最不可怕的方式? 有没有任何可能的方式来configurationIIS使用一个文件命名的东西除了web.config的configuration文件? 这可能会在这里扼杀这个萌芽。 在源代码pipe理中,我想要走的路是在一个项目中拥有所有的源文件,一个“共享”项目,并使用构build时间事件将自己复制到两个耗费的Web项目上。 然后,我们可以继续在两个不同的文件夹中部署应用程序,但是至less在源代码控制中,通用的源文件将只存在于一个地方。 这个缺点是我们会失去dynamic编译,这真的很糟糕。 但是好一点,那么重复一次。 我做了一些路由实验,但似乎你不能路由到应用程序的根之外的文件,这将需要不同的定义不同的身份validationscheme,所以我不认为这将工作。 任何想法,反馈或想法都非常感激, BD

交互命令提示符为NETWORK SERVICE

如何打开运行为NETWORK SERVICE的交互式应用程序(如cmd.exe或Windows资源pipe理器)? SYSTEM帐户有办法做到这一点,但networking服务被certificate是一个挑战。 我需要这个在Windows 7上工作,但也会对其他Windows版本的解决scheme感兴趣。

Symfony2:自动从Windows会话中login用户

在Symfony2我build立了一个内联网。 它目前使用FOSUserBundle和一个LDAP bundle来login用户,我想添加function从Windows中的会话login用户。 我发现一个 PHP 的NTLM脚本和它的更新版本 ,但是我没有能够将它们合并到Symfony2中。 我还为Symfony2find了一个NTLM包 ,但它是为Symfony的旧版本编写的,不再被维护。 我无法改写它,并得到它的工作。 我的问题是 除了已有的LDAPfunction之外,我怎么能在我的Symfony2-app的Windows会话中自动login用户呢? 什么是最好和最简单的方法?

使用Windowslogin的Intranet网站身份validation

我正在build立一个Perl的内部网站,我希望得到它使用Windows凭据进行身份validation。 到目前为止,我的研究已经出现了很多关键字:Kerberos,LDAP,NTLM等,但没有可靠的信息。 任何人有指针或好的教程? 谢谢。