使用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用户名/密码?
我们的策略是不以纯文本格式存储凭据,我必须在我工作的地方使用特定的凭据提供程序.
我有一个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进行交互.
更新:我看到一些用户还没有完全理解这个问题,并提出了对我的案例无用的解决方法.我正在尝试实现的工作流程如下:
目前,我有兴趣制定第4步和第4.1步.
有关创建自定义Windows凭据提供程序的文档位于何处?到目前为止,我发现的所有内容都指向了关于如何创建自定义凭据提供程序的相同文章(MSDN杂志:"使用Windows Vista凭据提供程序创建自定义登录体验"),但该文章或我找不到的任何其他内容都提供了文档关于事情如何运作.最好的是有一些代码示例,但这些代码示例并没有解释凭据提供程序的完整机制,也没有说明如何自行编写代码示例.
所以,这是场景.我正在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
有人在C#中成功创建了自定义Windows凭据提供程序吗?Windows SDK中的示例都使用C++.我做过的一些初步搜索表明它可能是可能的,但似乎找不到任何确认它的人.
我正在为Windows 7开发自定义凭据提供程序.我的目标是在发生某个硬件事件时自动登录用户.我已经阅读了与此相关的所有MSDN文章,并实现了一个简单的凭据提供程序,它与外部设备连接以获取用户名和密码并将其传递给WinLogon.
但是,我仍然坚持最后一块拼图.目前,用户仍然必须按登录按钮才能登录.自动执行此操作的最佳方法是什么?
我正在为Windows 7开发自定义凭据提供程序DLL.这有一个条件检查; 如果失败我想显示Ctrl+ Alt+ Del窗口.
我可以调用哪个函数来调用Ctrl+ Alt+ Del(SAS)窗口?
我正在尝试编写自定义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) 我正在开发一个自定义凭据提供程序,并且需要在运行时知道该方案是登录还是解锁会话.为此,我检查ICredentialProvider接口的SetUsageScenario返回的CREDENTIAL_PROVIDER_USAGE_SCENARIO.
在Windows 10上,如果我在登录或会话被锁定时独立,我总是将CPUS_LOGON作为使用场景,而在以前版本的Windows上,会话被锁定时CPUS_UNLOCK_WORKSTATION返回,登录时返回CPUS_LOGON.
因此,似乎自Windows 10以来出现的更改未在MSDN上报告.
有没有其他方法可以检测使用场景是否被会话锁定?
我正在致力于用 C# 实现凭据提供程序。
我已经下载了 C++ 版本的 V2 凭据提供程序示例(适用于 Windows 8),并设法使其在我的 Windows 10 PC 上运行。我还研究了 .NET https://github.com/SteveSyfuhs/CredProvider.NET中的凭据提供程序实现,但这是针对 CredUI 场景的。
我已设法使我的凭据提供程序显示在用户磁贴的“登录选项”下,但现在我想实现登录部分。
我必须为登录/解锁场景实现 GetSerialization 方法。在 C++ 示例中,这已经实现了,但我在将其“翻译”为 C# 代码时遇到了麻烦,因为我不熟悉 C++。
有谁知道我在哪里可以找到此方法在 C# 中用于登录/解锁场景的有效实现?任何帮助将不胜感激。
c++ ×5
c# ×3
credentials ×3
winapi ×3
windows-7 ×3
windows ×2
winlogon ×2
.net ×1
c ×1
datasource ×1
java ×1
lsa ×1
provider ×1
spring ×1
spring-boot ×1