连接到K2服务器而无需手动指定用户名/密码

时间:2014-11-27 16:43:10

标签: k2

在{2}和here等K2开发人员参考中连接K2服务器的示例都涉及在连接参数中设置用户名和密码。使用这种方法意味着我需要以明文或最好使用双向加密来存储密码,这显然不是一种好的做法。

是否有另一种方法,可能使用令牌来建立这些连接?很难相信使用此功能的每个应用程序只是在某处存储密码,对此有明显的安全隐患。

2 个答案:

答案 0 :(得分:1)

注意 - 我不是K2 API专家,但我作为产品遇到过它,并且确实知道它原生支持Windows身份验证。您为其提供链接的同一页面说明了以下内容 -

connectionSetup.ConnectionParameters["Authenticate"] = "true";
connectionSetup.ConnectionParameters["Host"] = "LOCALHOST";
connectionSetup.ConnectionParameters["Integrated"] = "true";
connectionSetup.ConnectionParameters["IsPrimaryLogin"] = "true";
//connectionSetup.ConnectionParameters["Originator"] = "false";
connectionSetup.ConnectionParameters["Password"] = "{YourPassword}";
connectionSetup.ConnectionParameters["Port"] = "5252";
connectionSetup.ConnectionParameters["SecurityLabelName"] = "K2";
//connectionSetup.ConnectionParameters["SecurityPackage"] = "Kerberos,NTLM";
connectionSetup.ConnectionParameters["UserID"] = "{YourUserName}";
connectionSetup.ConnectionParameters["WindowsDomain"] = "{YourDomain}";

此处的第三个参数是Integrated=true,虽然文档没有明确说明,但我建议您使用此参数,并在忽略user id和{{1}时尝试连接}。 假设K2已配置为password ,它应该无需提供明确的用户名或密码即可运行..当然,无需将它们自己存储为K2的客户端。

答案 1 :(得分:0)

您可以使用集成安全性。然后,K2将使用与当前登录用户相同的用户,并且需要传递任何凭据。