在SAML元数据文件中,定义了几种NameID格式,例如:
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这些用途是什么?有什么区别?
我正在写一个C++问题.它需要在Windows和Unix OS上运行.
如何在不同的操作系统上获取用户或系统tmp文件夹?
原始数据是:
auser1 home1b
auser2 home2b
auser3 home3b
Run Code Online (Sandbox Code Playgroud)
我想匹配一行,但它无法使用 ^(.*?)$
但是,我可以a(.*?)b用来匹配user1 home1.
我该怎么匹配 auser1 home1b
我们有两个独立的产品,包括网络应用和服务器.
我们希望为它们实现单点登录,因此当用户登录到一个产品时,他可以自动访问属于他的其他产品中的资源.
我已经进行了一些探索,发现SAML是一种很好的方法,我们可以采取,但我们不确定如何继续.
实施我们自己的服务提供商是个好主意吗?我看过Shib SP,但看起来如果我想将它集成到我的产品中,它也不会那么容易.
所以我只是寻找之前遇到类似问题的人的一些建议.
另一个问题是,如果我需要使用OpenSaml实现SP,我可以学习哪些资源?看起来我没有很多可以参考的教程或示例.
如果有人能指出我自己的SP需要包含的一些大程序或组件,我也会非常感激.
编辑1:
试着提供我想要的更多细节.我们有两个独立的产品.目前,我们能够外部化用户数据库.例如,我们的产品可以被配置为连接到LDAP服务器或任何其他外部用户DB,只要它们正确实现服务即可.
现在我们的目标是为我们的两种产品提供SSO.一种情况是我们在两种产品中都有自己的SP组件(实现或集成).客户可能拥有自己的IdP.通过一些配置,我们的SP可以连接到他们的IdP,并从那里进行身份验证,用户无需登录两次即可访问这两种产品.当然,如果客户没有,我们可以提供开箱即用的IdP.
我正在研究SAML和SSO,看起来使用SAML的应用程序需要是一个Web应用程序并依赖于浏览器.
谁能告诉我为什么?
我对SAML的了解有限,这告诉我SAML依赖于会话和cookie,这在桌面应用程序或移动应用程序中是不可用的.这是唯一的原因吗?你能告诉我更多这方面的细节吗?
假设我有
/Root
/A
/to_delete
/not_to_delete
/B
/to_delete
/not_to_delete
/C
/to_delete
/not_to_delete
Run Code Online (Sandbox Code Playgroud)
如何删除Ant中名为"to_delete"的文件夹?
我们是服务提供商。假设在我们的应用程序中,我们最初拥有自己的用户/角色管理。允许具有不同角色的不同用户使用不同的功能。因此,当用户登录时,我们需要知道该用户具有哪些角色,并准备适当的UI。我们具有管理员角色,具有此角色的用户可以将角色分配给其他用户。
我们正在考虑为我们的应用程序启用SAML SSO,现在的问题是我们如何为每个用户设置角色。
解决方案1,我们依靠IdP为每个登录用户提供角色信息,该角色信息可能会随Assertion一起提供,但这可能不适用于所有IdP。
解决方案2,我们仅从IdP检索用户,并在我们自己的应用程序中管理角色。例如,当我们获得一个断言时,我们检索用户名(或电子邮件地址),并与数据库中的一条记录匹配,如果该记录不存在,我们会自动为此新用户创建一个。然后,我们依靠具有管理员角色的用户为该新用户分配正确的角色。
现在的问题是,第一个管理员来自哪里?我们的客户获取了我们的应用程序,并打开了SAML SSO,现在数据库中还没有用户,那么如何解决此类引导问题?有什么标准的方法吗?我们提出了不同的选择,但不确定哪个更好,每个选择的关注点是什么。
选项1,具有默认的内置管理员用户。内置用户有一个常规的本机登录页面,而无需通过IdP即可登录(如果启用了SAML SSO,则可以打开/关闭该选项)
选项2,在SAML SSO设置过程中,要求提供管理员用户名,以便我们在具有管理员角色的数据库中自动创建此用户。然后,当该用户通过IdP登录时,我们可以在数据库中匹配他。
还有哪些其他选择?
user-management saml application-design user-roles single-sign-on
我使用Ant作为服务器的安装脚本,我们需要获取服务器的完全限定名称.如何使用Ant获取它,或者在Ant中是否可以?
完全限定的主机名如下:xxx.company.com
我知道在Java中我们有软引用的概念.如果:
1)软引用"sf"指对象A.
2)在对象A中,它具有强引用,指对象B.
3)对象A和B不在任何其他地方引用.
根据定义,对象A和对象B都"可以轻柔地到达",对吗?
然后说我们现在用完了内存,GC开始了.是否有可能GC会回收对象B而不是对象A?
如果是这种情况,稍后如果我们想通过"sf"访问对象B,它将为null.java如何避免这种情况发生?
我在java doc中没有看到任何解释.
我们有一个C++程序,有时这个程序需要执行用户定义的批处理/ shell/ant脚本.我们无法控制此脚本的运行方式.有没有办法从C++程序获取返回代码?
像:exec一个script.sh> status.tmp?
我们需要支持Windows和Linux.
有任何想法吗?
请求:
POST / HTTP/1.0
Content-Type: text/xml; charset=UTF-8
User-Agent: Axis2
Host: localhost:8000
Content-Length: 539
Run Code Online (Sandbox Code Playgroud)
tomcat的回应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Date: Sat, 19 Oct 2013 00:28:57 GMT
Connection: close
Run Code Online (Sandbox Code Playgroud)
从tomcat网站上说:
如果客户端(通常是浏览器)仅支持HTTP / 1.0,则连接器也会正常地回退到支持该协议。启用此支持不需要特殊配置。
Tomcat如何优雅地回退到HTTP 1.0?从我的示例中,它仍然回复HTTP 1.1。谁能向我解释?
saml ×4
java ×3
ant ×2
c++ ×2
batch-file ×1
http ×1
opensaml ×1
regex ×1
return-code ×1
shell ×1
shibboleth ×1
tomcat ×1
user-roles ×1