wse说谈(3)——策略,用户令牌

简介: 启用策略之用户令牌(UsernameToken) 实现一下用户令牌策略(UsernameToken) 这里详细的说一下: 服务端配置 (一)建立web网站(略) (二)配置WSE (1)在常规(general)选项卡上勾选其中的两项 (2)策略设置 在策略(Policy)选项卡中设置...

启用策略之用户令牌(UsernameToken

实现一下用户令牌策略(UsernameToken

这里详细的说一下:

服务端配置

(一)建立web网站(略)

(二)配置WSE

1)在常规(general)选项卡上勾选其中的两项

2)策略设置

在策略(Policy)选项卡中设置,这个设置很容易,勾选Enable Policy,添加策略文件:名字为ServicePolicy

步骤(上传图片比较麻烦,所以直接文字表达):

服务器策略——客户端验证方法选择Username——用户和角色这里不勾选——消息保护级别默认就行——服务器证书这里不勾选在代码中指定证书,然后选择证书——完成。

3)用户令牌设置

这里设置比较简单,添加从UsernameTokenManager派生的类CustomUsernameTokenManager

这里给个全的:

protected override string AuthenticateToken(UsernameToken token)

{

    return "111";

}

它就返回密码是:111。如果客户端的的用户令牌密码与这个不符合,那么服务就会拒绝客户访问。这个验证令牌的方法就是这个意思。它就是验证用户令牌中的密码,而用于比较的密码就是这个方法返回的字符串。

 

客户端配置

1)策略设置方法与服务端设置相似,但该选择客户端的地方要选择客户端选项(这个应该容易理解吧)。

2)请求服务时,要设置用户令牌

3)请求服务时,不要忘记激活用户策略

下边给出一段完整的代码:

public void Test()

{

FirstInstance.WebServiceWse client =

 new FirstInstance.WebServiceWse();

 

    UsernameToken token = null;

    token = new UsernameToken("qq","111");

    client.SetClientCredential(token);

    client.SetPolicy("ClientPolicy");

 

    Console.WriteLine(client.HelloWorld("x"));

}

说明一下:

在这段代码中,设置的用户令牌密码为31

 

注意:配置时要注意异常错误,这些异常错误这里不提了。只要是一步步的进行,注意其中的安全选项冲突,则没有问题。

 

现在对消息的保护设置为None,然后,看看令牌在soap消息中的情况,这里只给出其中的一段:

<wsse:UsernameToken>

  <wsse:Username>qq</wsse:Username>

  <wsse:Password Type="…PasswordDigest">

    0nAwMqEiHeF+uCbMTRL0qfQG2Mo=

  </wsse:Password>

  <wsse:Nonce>fBduFda3nmZboNcsQDBWig==</wsse:Nonce>

  <wsu:Created>2010-04-23T09:19:38Z</wsu:Created>

</wsse:UsernameToken>

 

这里可以看到在无消息保护级别时(消息保护选择None):用户令牌其中的两个元素:用户名和用户密码,用户名是qq,而密码以数字签名格式存在。有关签名(数字签名)及散列相关内容可见我的随笔:

http://www.cnblogs.com/jams742003/archive/2010/04/09/1708012.html

http://www.cnblogs.com/jams742003/archive/2010/04/09/1708315.html

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
2月前
|
存储 JSON 算法
无懈可击的身份验证:深入了解JWT的工作原理
无懈可击的身份验证:深入了解JWT的工作原理
70 0
|
7月前
|
存储 安全 API
深入了解OAuth 2.0:探究身份验证与授权的新标准
OAuth 2.0是一种开放标准的协议,用于安全地授权第三方应用程序访问用户的资源,而无需共享用户的凭据。这一协议在互联网上广泛应用,为许多应用和服务提供了强大的身份验证和授权机制。本文将深入介绍OAuth 2.0,探讨其工作原理、关键概念和常见用途。
|
5月前
|
存储 安全 前端开发
深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
这篇文章讨论了认证和授权的概念,并探讨了设计权限认证框架的原则。它还比较了Cookie和Session的区别,并探讨了处理分布式部署时的Session保存问题。此外,文章还介绍了CSRF攻击及其防范方法,以及OAuth2.0、JWT令牌和SSO的概念。最后,文章提出了设计开放授权平台时需要考虑的因素。
深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
|
12月前
|
存储 JSON NoSQL
实战!退出登录时如何借助外力使JWT令牌失效?
实战!退出登录时如何借助外力使JWT令牌失效?
Jasny SSO如何处理SSO令牌过期和无效的情况?
Jasny SSO如何处理SSO令牌过期和无效的情况?
194 0
如何实现用户注销并清除SSO令牌?
如何实现用户注销并清除SSO令牌?
Jasny SSO是否支持多种身份提供者?
Jasny SSO是否支持多种身份提供者?
|
存储 缓存 数据安全/隐私保护
Jasny SSO是如何处理用户会话的?底层原理是什么?
Jasny SSO是如何处理用户会话的?底层原理是什么?
|
API 数据安全/隐私保护
Yii2.0框架中如何进行身份验证和授权操作?支持哪些认证方式和授权方式?
Yii2.0框架中如何进行身份验证和授权操作?支持哪些认证方式和授权方式?
132 0
|
存储 JSON 安全
【翻译】基于令牌的身份验证如何工作?
【翻译】基于令牌的身份验证如何工作?
139 0
【翻译】基于令牌的身份验证如何工作?