1. 什么是SAML
SAML(Security Assertion Markup Language)是一个XML框架,也就是一组协议,可以用来传输安全申明。比如,两台远程机器之前要通讯,为了保证安全,我们可以采用加密等措施,也可以采用SAML来传输,传输的数据以XML形式,符合SAML规范,这样我们就可以不要求两台机器采用什么样的系统,只要求能理解SAML规范即可,显然比传统的方式更好。SAML 规范是一组Schema 定义。
可以这么说,在Web Service 领域,schema就是规范,在Java领域,API就是规范。(我自己总结的
)2.SAML 作用?
SAML 主要包括三个方面:
1.认证申明。表明用户是否已经认证,通常用于单点登录。
2.属性申明。表明 某个Sujbect 的属性。
3.授权申明。表明 某个资源的权限。
3. SAML框架是什么?
SAML就是客户向服务器发送SAML 请求,然后服务器返回SAML响应。数据的传输以符合SAML规范的XML格式表示。
SAML 可以建立在SOAP上传输,也可以建立在其他协议上传输。
因为SAML的规范由几个部分构成:SAML Assertion,SAML Prototol,SAML binding等。
4. SAML 安全吗,因为传输都是XML明文?
当然,SAML就是为了解决安全问题提出的。SAML 基于 XML 签名规范,所以整个XML传输虽然是明文,但也法被修改。显然,也可以将XML加密后在传输了。