WIF, Windows 身份验证基础

WIFWindows Identity Foundation)是用于构建标识应用程序框架。该框架将 WS-Trust WS-Federation 协议抽象化,并向开发人员呈现用于构建安全令牌服务和声明感知应用程序 API应用程序可以使用 WIF 处理安全令牌服务颁发令牌,并在 Web 应用程序或 Web服务中,根据标识做出决策。

WIF具有以主要功能:

1)        构建声明感知应用程序(信赖方应用程序)。

WIF可帮助开发人员构建声明感知应用程序。 除提供新声明模型,它还为应用程序开发人员提供一组丰富 API,帮助们根据声明做出用户访问决策。无论开发人员选择在ASP.NET 还是 WCF环境构建应用程序,WIF都为们提供一致编程体验。

2)        Visual Studio模板。

WIF提供适用于声明感知 ASP.NET 网站和 WCF Web 服务应用程序内置 Visual Studio 模板,可缩短熟悉基于声明编程模型学习时间。

3)        在声明感知应用程序和 STS之间轻松建立信任。

WIF提供一个名为 FedUtil 实用工具,允许在声明感知应用程序和 STS(如 ADFS 2.0 和LiveID STS)之间轻松建立信任。FedUtil支持ASP.NET 和 WCF 应用程序。它还与Visual Studio 集成,这样在解决方案资源管理器中右键单击项目,然后选择“添加STS引用”菜单项即可调用,或者在 Visual Studio 中通过“工具”菜单调用。

4)        ASP.NET 控件。

ASP.NET 控件可简化ASP.NET页面开发,该页面用于构建声明感知 Web应用程序。

5)        声明和 NT 令牌之间转换。

WIF包括一个Windows服务,该服务可作为声明感知应用程序和基于NT令牌应用程序之间桥梁。 它为开发人员提供声明转换为NT令牌标识简单方法,得以从声明感知应用程序访问需要基于 NT 令牌标识资源。

6)        在声明感知应用程序中构建标识委派支持。

WIF提供跨多个服务边界保持原始请求者标识功能。在框架中使用“ActAs”或“OnBehalfOf”函数可实现此功能,开发人员可利用此功能在声明感知应用程序中添加标识委派支持。

7)        构建自定义安全令牌服务 (STS)。

WIF使得构建支持 WS-Trust 协议自定义安全令牌服务 (STS) 变得极其容易。此类STS也被称为主动 STS

此外,该框架还为构建另一类 STS 提供支持,该STS支持 WS-Federation 以启用 Web 浏览器客户端。此类STS也被称为被动STS

WIF主要支持以方案:

方案1      联合身份验证。

WIF可在两个或多个伙伴间构建联合身份验证。 它对构建声明感知应用程序 (RP) 和自定义安全令牌服务 (STS支持可帮助开发人员实现此身份验证方案。

方案2      标识委派。

通过WIF可轻松跨服务边界维护标识,以便开发人员可实现标识委派身份验证方案。

方案3      升级身份验证。

应用程序内不同资源身份验证要求可能各不相同。 使用 WIF,开发人员可以构建可能需要增量身份验证要求应用程序,例如:初始登录时使用用户名/密码身份验证,然后升级至智能卡身份验证。

通过使用 WIF,可以更轻松地从本主题所述基于声明标识模型中获益。

WIF令牌类型包括:SAML 1.1、SAML 2.0、X.509、UPN、WindowsKerberos或NTLM)、RSA密钥对。

WIF身份验证类型包括:密码、KerberosSecureRemotePassword、TLSClient、X.509、PGP、Spki、XmlDSig、未指定。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中的Wi-Fi代码实现了Wi-Fi连接、扫描、配置Wi-Fi网络等功能。通过分析Wi-Fi代码,可以了解到Android中如何管理和操作Wi-Fi网络。 首先,Wi-Fi代码的核心是WifiManager类,它提供了许多方法来操作Wi-Fi功能。通过WifiManager,我们可以获取当前连接的Wi-Fi网络的信息,可以获取已经配置的Wi-Fi网络列表,也可以配置和连接Wi-Fi网络。同时,WifiManager还提供了用于开启和关闭Wi-Fi功能的方法。 其次,Android通过BroadcastReceiver来监听Wi-Fi的状态变化,例如Wi-Fi网络连接成功与否的事件。这样,我们可以通过注册该BroadcastReceiver来实时获取Wi-Fi状态的变化。 另外,Android还提供了WifiInfo类,用于获取关于Wi-Fi网络连接的详细信息,包括当前连接的Wi-Fi网络名称、信号强度、速度等。 在Wi-Fi扫描方面,Android提供了WifiManager.startScan()方法来启动Wi-Fi扫描。扫描结果可通过注册ScanResultReceiver来获取,该Receiver将接收到扫描结果并存储在ScanResult对象中。ScanResult包含了扫描到的Wi-Fi网络的信息,如网络名称、信号强度等。 最后,Android还提供了WifiConfiguration类,用于配置Wi-Fi网络。通过该类,我们可以设置网络的SSID(网络名称)、密码、加密方式等信息,然后调用WifiManager.addNetwork()方法将配置好的网络添加到已有的Wi-Fi网络列表中。 总之,通过对Android的Wi-Fi代码进行分析,我们可以了解到Android中Wi-Fi的管理和操作逻辑,从而能够更好地理解和应用Wi-Fi功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值