标签: credential-providers

在Spring Boot中以编程方式配置DataSource

使用Spring Boot,我可以JdbcTemplate使用以下内容实例化:

码:

@Autowired
private JdbcTemplate jdbcTemplate;
Run Code Online (Sandbox Code Playgroud)

属性:

spring.datasource.url=jdbc:postgresql://my_url:my_port/my_other_stuff
spring.datasource.username=my_user_name
spring.datasource.password=my_password
spring.datasource.driver-class-name=org.postgresql.Driver
Run Code Online (Sandbox Code Playgroud)

这创建了一个类的DataSource: org.apache.tomcat.jdbc.pool.DataSource

如何以编程方式设置DataSource用户名/密码?

我们的策略是不以纯文本格式存储凭据,我必须在我工作的地方使用特定的凭据提供程序.

java spring datasource credential-providers spring-boot

59
推荐指数
5
解决办法
16万
查看次数

如何以编程方式与winlogon交互?

我有一个Windows服务,我想使用帐户用户名和密码以编程方式解锁工作站.

本文https://technet.microsoft.com/en-us/library/dn751047(v=ws.11).aspx解释了Windows上的登录验证工作流程,如下图所示: 认证工作流程

如上所述,在步骤5,用户将凭证输入到登录UI中.我想要实现的是让Windows服务输入凭据并让winlogon执行登录.

没有winlogon API来实现这一目标.如在其他问题中所见,使用winapi LogonUser函数成功执行身份验证并返回令牌,但它不会切换到应用程序桌面,并且Logon UI仍保留在屏幕上.

大多数文章和SO答案暗示了凭证提供者,但所有凭据提供者样本都需要用户与Logon UI进行交互.

更新:我看到一些用户还没有完全理解这个问题,并提出了对我的案例无用的解决方法.我正在尝试实现的工作流程如下:

  1. Windows服务在Windows启动(完成)时启动.
  2. 相同的Windows服务具有Web服务,并通过API(完成)接受HTTP请求.
  3. 用户通过API从另一个设备(完成)向服务提供凭据.
  4. 提供的凭据用于登录工作站.
    4.1提供的凭证用于在锁定时解锁工作站(WinKey + L).
  5. (可选)该服务通过API公开Windows帐户.
  6. (可选)用户可以向服务指定要用于登录的帐户.

目前,我有兴趣制定第4步和第4.1步.

c# winapi winlogon credential-providers

28
推荐指数
1
解决办法
2321
查看次数

在Windows中创建自定义凭据提供程序的文档

有关创建自定义Windows凭据提供程序的文档位于何处?到目前为止,我发现的所有内容都指向了关于如何创建自定义凭据提供程序的相同文章(MSDN杂志:"使用Windows Vista凭据提供程序创建自定义登录体验"),但该文章或我找不到的任何其他内容都提供了文档关于事情如何运作.最好的是有一些代码示例,但这些代码示例并没有解释凭据提供程序的完整机制,也没有说明如何自行编写代码示例.

provider credentials windows-7 credential-providers

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

自定义Windows身份验证包

所以,这是场景.我正在Windows 7中开发一个登录系统.我创建了一个Credential Provider,其中包含一个Credential.凭证有三个输入字段,用户名,密码和PIN.

据我所知,文档(CMIIW)是当我们填写字段并单击登录时,WINLOGON将检索用户名和密码,并通过调用LSALogonUser()进行身份验证将其发送到LSA.然后LSA将尝试与Authentication Package KERBEROS(用于远程登录)或MSV1_0(用于本地登录)进行协商.

仅假设现在的本地方案,用户名和密码将传递给MSV1_0,并与SAM数据库中的用户和密码一起检查.现在的问题是,我不希望用SAM数据库检查它.假设我有一个文件C:\ users.txt,其中包含三元组:{username; 密码; 销}.这里的所有用户名都是Windows中的现有用户.如何使身份验证遵循我的方式(检查文件C:\ users.txt.

如果我没弄错的话,我们可以创建自己的身份验证包来"包装"MSV1_0.你们有一个示例代码吗?还是有另一种更合适的方式吗?

谢谢,非常感谢你的帮助.

c++ winlogon windows-authentication lsa credential-providers

10
推荐指数
1
解决办法
3051
查看次数

使用C#的Windows凭据提供程序

有人在C#中成功创建了自定义Windows凭据提供程序吗?Windows SDK中的示例都使用C++.我做过的一些初步搜索表明它可能是可能的,但似乎找不到任何确认它的人.

.net c# credential-providers

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

Windows7凭据提供程序,用于在硬件事件上自动登录用户

我正在为Windows 7开发自定义凭据提供程序.我的目标是在发生某个硬件事件时自动登录用户.我已经阅读了与此相关的所有MSDN文章,并实现了一个简单的凭据提供程序,它与外部设备连接以获取用户名和密码并将其传递给WinLogon.

但是,我仍然坚持最后一块拼图.目前,用户仍然必须按登录按钮才能登录.自动执行此操作的最佳方法是什么?

windows-7 credential-providers

6
推荐指数
1
解决办法
3805
查看次数

如何以编程方式在Windows 7中调用Ctrl + Alt + Del窗口

我正在为Windows 7开发自定义凭据提供程序DLL.这有一个条件检查; 如果失败我想显示Ctrl+ Alt+ Del窗口.

我可以调用哪个函数来调用Ctrl+ Alt+ Del(SAS)窗口?

c c++ windows-7 credential-providers

6
推荐指数
1
解决办法
2022
查看次数

在"其他用户"磁贴上显示V2凭据提供程序

我正在尝试编写自定义Windows凭据提供程序.我已经下载了V2凭证提供程序示例,我可以构建,注册和使用它.

为了测试,我已经设置了一个hyper-v Windows 8.1实例并加入了一个Windows测试域.

但是,自定义凭据提供程序仅显示在用户切片上,而不显示在"其他用户"磁贴上.

文档(Windows 8.docx中的凭据提供程序框架更改)提供了一个小代码段:

// Gets the SID of the user corresponding to the credential. HRESULT CSampleCredential::GetUserSid(__deref_out PWSTR *ppszSid)
{
    *ppszSid = nullptr;
    HRESULT hr = E_UNEXPECTED;

    // _pszUserSid is a private member of CSampleCredential
    if (_pszUserSid != nullptr)
    {
        // ppszSid will be freed by Logon UI
        hr = SHStrDupW(_pszUserSid, ppszSid);
    }
    // Return S_FALSE with a null SID in ppszSid for the
    // credential to be associated with an anonymous user …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi credentials credential-providers

6
推荐指数
1
解决办法
2010
查看次数

凭据提供程序使用方案:从Windows 10中删除了CPUS_UNLOCK_WORKSTATION

我正在开发一个自定义凭据提供程序,并且需要在运行时知道该方案是登录还是解锁会话.为此,我检查ICredentialProvider接口的SetUsageScenario返回的CREDENTIAL_PROVIDER_USAGE_SCENARIO.

在Windows 10上,如果我在登录或会​​话被锁定时独立,我总是将CPUS_LOGON作为使用场景,而在以前版本的Windows上,会话被锁定时CPUS_UNLOCK_WORKSTATION返回,登录时返回CPUS_LOGON.

因此,似乎自Windows 10以来出现的更改未在MSDN上报告.

有没有其他方法可以检测使用场景是否被会话锁定?

c++ windows winapi credentials credential-providers

6
推荐指数
1
解决办法
1894
查看次数

使用 C# 的 Windows 10 凭据提供程序

我正在致力于用 C# 实现凭据提供程序。

我已经下载了 C++ 版本的 V2 凭据提供程序示例(适用于 Windows 8),并设法使其在我的 Windows 10 PC 上运行。我还研究了 .NET https://github.com/SteveSyfuhs/CredProvider.NET中的凭据提供程序实现,但这是针对 CredUI 场景的。

我已设法使我的凭据提供程序显示在用户磁贴的“登录选项”下,但现在我想实现登录部分。

我必须为登录/解锁场景实现 GetSerialization 方法。在 C++ 示例中,这已经实现了,但我在将其“翻译”为 C# 代码时遇到了麻烦,因为我不熟悉 C++。

有谁知道我在哪里可以找到此方法在 C# 中用于登录/解锁场景的有效实现?任何帮助将不胜感激。

c# c++ credential-providers

6
推荐指数
1
解决办法
2726
查看次数