标签: credentials

如何在WCF客户端配置文件中指定Windows凭据

我有一个使用BasicHttpBinding和Windows身份验证的WCF服务.大多数客户端都是域帐户,并使用其默认凭据连接到服务.

现在,我想从在本地帐户下运行的ASP.NET客户端连接到该服务.我想使用ASP.NET应用程序可用的Windows凭据(域\用户和密码)连接到WCF服务.

我知道我可以使用ClientBase <T> .ClientCredentials在代码中执行此操作.

有没有办法在客户端的web.config文件中指定凭据(域\用户和密码),所以我不必更改代码?

编辑

如果无法在配置文件中完成,是否有办法使用System.Net.ICredentials或System.Net.NetworkCredential作为WCF服务的凭据?

.NET Framework提供了这些作为提供网络凭据的同类方式,但是对于WCF,这似乎已经被抛弃,而不是基于不相关的System.ServiceModel.Description.ClientCredentials类的新的不兼容系统.

编辑2

接受Marc对原始问题的回答 - 似乎在客户端配置文件中没有办法做到这一点:(

我认为这是WCF的一个缺陷 - 我不接受微软应该故意阻止我们在配置文件中放置凭据 - 毕竟它们必须存储在某个地方,而Framework包含加密配置文件的工具.我想我可以为此创建一个自定义的BehaviorExtensionElement,但它应该是开箱即用的.

它也有点不一致:system.net/mailSettings/smtp/network配置元素允许指定凭据,为什么不WCF?

关于使用System.Net.NetworkCredential的第二个问题,从这个博客看来,至少在使用Windows身份验证时,可以使用以下代码:

factory.Credentials.Windows.ClientCredential =
   new System.Net.NetworkCredential(name, password, domain);
Run Code Online (Sandbox Code Playgroud)

wcf credentials

25
推荐指数
3
解决办法
6万
查看次数

WebClient访问具有凭据的页面

我正在尝试访问同一域/同一个asp.net应用程序的网页,这是受密码保护的.对于发起此呼叫的网页和正在访问的网页,凭据都是相同的.

这是代码,我不知道为什么我总是以登录表单html代码结束?

using (WebClient client = new WebClient())
{
    client.QueryString.Add("ID", "1040"); //add parameters
    //client.Credentials = CredentialCache.DefaultCredentials;
    //I tried to add credentials like this
    client.Credentials = new NetworkCredential("username", "password");

    string htmlCode = client.DownloadString("http://domain.loc/testpage.aspx");
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net webclient credentials defaultnetworkcredentials

24
推荐指数
1
解决办法
7万
查看次数

是否可以存储自动Team Foundation Server登录的凭据?

是否可以直接在Visual Studio 2010中存储用于连接到Team Foundation Server凭据

我想避免在每次VS发布时插入它们.

问题是托管TFS的计算机不在域中,我使用在该计算机上创建的用户的凭据进行连接.

假设机器名称为TOOLS且用户为Marco,我需要每次都插入

 User name: TOOLS\Marco 
 Password: *
Run Code Online (Sandbox Code Playgroud)

如果它存在,你能建议一个可能的解决方案吗?

tfs credentials visual-studio-2010 visual-studio

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

保护字符串不变以防逆向工程

我有Android应用程序,它具有硬编码(静态字符串常量)凭据(用户/通行证),用于通过SMTP发送电子邮件.

问题是.apk中的.dex文件可以很容易地进行逆向工程,每个人都可以看到我的密码.

有没有办法如何保护这些凭据,而我仍然可以在我的课程中使用它们?

java security android reverse-engineering credentials

23
推荐指数
3
解决办法
1万
查看次数

通过Spark本地读取S3文件(或更好:pyspark)

我想通过Spark(pyspark,真的)从我的(本地)机器读取一个S3文件.现在,我不断收到身份验证错误

java.lang.IllegalArgumentException:必须将AWS Access Key ID和Secret Access Key指定为s3n URL的用户名或密码,或者分别设置fs.s3n.awsAccessKeyId或fs.s3n.awsSecretAccessKey属性.

我在这里和网上到处寻找,尝试了很多东西,但显然S3在过去一年或几个月里一直在变化,所有方法都失败了但是一个:

pyspark.SparkContext().textFile("s3n://user:password@bucket/key")
Run Code Online (Sandbox Code Playgroud)

(注意s3n[ s3不起作用]).现在,我不想使用带有用户和密码的URL,因为它们可以出现在日志中,我也不知道如何从~/.aws/credentials文件中获取它们.

那么,我如何使用来自现在标准 ~/.aws/credentials文件的AWS凭证(或者更好地,pyspark)从S3本地读取(理想情况下,不将凭证复制到另一个配置文件)?

PS:我想os.environ["AWS_ACCESS_KEY_ID"] = …os.environ["AWS_SECRET_ACCESS_KEY"] = …,也没有工作.

PPS:我不知道在哪里"设置fs.s3n.awsAccessKeyId或fs.s3n.awsSecretAccessKey属性"(Google没有提出任何建议).不过,我也尝试设置这些方法很多:SparkContext.setSystemProperty(),sc.setLocalProperty(),和conf = SparkConf(); conf.set(…); conf.set(…); sc = SparkContext(conf=conf).没有任何效果.

authentication credentials amazon-s3 apache-spark pyspark

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

Linux - 如何删除Git凭据

我跑了

git config credential.helper store

跑了

git push origin master

我输入凭据的地方,他们得救了.

我读到它们是以纯文本形式存储的,所以现在我想删除我的凭据,保存并默认输入.

我怎样才能做到这一点?

linux git credentials

23
推荐指数
11
解决办法
4万
查看次数

ManagedIdentityCredential 身份验证不可用,未找到托管身份端点

我试图允许应用程序服务(python)从azure keyvault获取秘密,而不使用硬编码的客户端id/秘密,因此我尝试使用ManagedIdentity。

  1. 我已在我的服务应用程序中启用系统和用户分配的功能
  2. 我在保管库中创建了一项策略,其中服务应用程序被授予访问机密的权限

代码:

credentials_object = ManagedIdentityCredential()
client = SecretClient(vault_url=VAULT_URL, credential=credentials_object)
value = client.get_secret('MYKEY').value
Run Code Online (Sandbox Code Playgroud)

错误(当部署应用程序和在本地运行时):

azure.identity._exceptions.CredentialUnavailableError: ManagedIdentityCredential 身份验证不可用,未找到托管标识终结点。

我缺少什么?谢谢你!

python credentials azure azure-keyvault azure-managed-identity

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

如何让AWS命令行界面在cygwin中工作

我在Windows 7机器上安装了AWS命令行界面,当我从DOS shell调用命令时它立即起作用.

但DOS是有史以来发明的最糟糕的语言,对任何严肃的脚本来说都是可怕的.所以,我想通过cygwin从bash使用AWS CLI.

在我的例子中,已安装的AWS CLI是Windows版本.原则上,这应该不是问题,因为Windows命令可以从cygwin执行.(cygwin在其自己的环境中包含您的Windows环境变量,例如PATH.)

不幸的是,当我第一次尝试从cygwin/bash执行AWS CLI命令时,我收到一个错误:

$ aws s3 cp code.tgz s3://xyz/
upload failed: .\code.tgz to s3://xyz/code.tgz
Unable to locate credentials
Run Code Online (Sandbox Code Playgroud)

此错误可能是因为AWS CLI正在查找credentials文件的错误目录.在Windows上,它希望该文件位于%UserProfile%.aws和unix中~/.aws.

一个hack解决方法是在我的主目录中创建了一个名为的新文件config_credentials,其中包含该目录文件内容的config并集credentials.然后我创建了一个新的Windows系统env var,AWS_CONFIG_FILE其值是路径config_credentials.成功:从cygwin发出的AWS CLI命令现在可以正常工作.

我想知道是否有更好的解决方案?

我很好奇为什么AWS CLI最初无法在正确的主目录中搜索configcredentials文件.我也想知道是否有办法纠正(这将消除对AWS_CONFIG_FILEenv var 的需要).

windows cygwin credentials command-line-interface amazon-web-services

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

SQL Server 2008中的登录和凭证有什么区别?

我有点困惑SQL服务器Windows登录和凭证.在线书籍上,它说凭证可以访问sql server之外的资源,但据我所知,Windows登录可能能够做到这一点,因为它映射到Windows用户.我错过了别的什么吗?

提前致谢.

sql-server login credentials

20
推荐指数
3
解决办法
3万
查看次数

elasticsearch的默认用户和密码是什么?

用Docker安装了Elastic:

docker run -p 9200:9200 \
           -p 9300:9300 \
           -e "discovery.type=single-node" \ 
           docker.elastic.co/elasticsearch/elasticsearch:5.6.2
Run Code Online (Sandbox Code Playgroud)

但是curl localhost:9200失败并出现身份验证错

{
  "error": {
    "root_cause": [
      {
        "type": "security_exception",
        "reason": "missing authentication token for REST request [/]",
        "header": {
          "WWW-Authenticate": "Basic realm=\"security\" charset=\"UTF-8\""
        }
      }
    ],
    "type": "security_exception",
    "reason": "missing authentication token for REST request [/]",
    "header": {
      "WWW-Authenticate": "Basic realm=\"security\" charset=\"UTF-8\""
    }
  },
  "status": 401
}
Run Code Online (Sandbox Code Playgroud)

Elasticsearch的默认用户名/密码组合是什么?

passwords credentials username elasticsearch docker

20
推荐指数
6
解决办法
3万
查看次数