我正在尝试使用Bluemix,并尝试在我的WebSphere Liberty WebApp上添加单点登录.因此我按照指南.添加了SSO服务,其中包含Cloud Directory身份提供程序,将我的WebApp绑定到该服务,并修改了XML配置.
我从演示应用程序开始,并从那里量身定制.
的src /主/ web应用/ WEB-INF/web.xml中
MyApp MyApp chat-web / /* /chat-web/* GET PUT HEAD TRACE POST DELETE OPTIONS any-authenticated
的src /主/ WLP/server.xml中
servlet-3.1
我在Cloud Directory中创建了一个测试用户"tobi",该用户链接到我的SSO服务.当我部署应用程序时,我可以看到SSO依赖项/代码被组合/组装到应用程序包中.然而,如果我尝试登录应用程序,它会失败,我总是看到以下错误:
1/2/2016 5:31:10 PM OUT App [INFO ] JSPG8502I: The value of the JSP attribute jdkSourceLevel is "15". 1/2/2016 5:31:10 PM OUT App [INFO ] CWWKS9122I: For URL /redirect/* in application com.ibm.ws.security.openidconnect.client, the following HTTP methods are uncovered, and accessible: GET POST PUT DELETE HEAD OPTIONS TRACE 1/2/2016 5:31:11 PM OUT App [INFO ] SRVE0242I: [com.ibm.ws.security.openidconnect.client] [/oidcclient] [OpenIdConnectClientRedirectServlet]: Initialization successful. 1/2/2016 5:31:11 PM OUT RTR chat.bluemix.byte23.net - [02/01/2016:17:31:10 +0000] "GET /oidcclient/redirect/qbZkQ73jmu?scope=openid&code=tXTJ80u1D69dCHPIhCQrahyBcCS51G&state=ok8OQCSJKnAQX324drvI HTTP/1.1" 302 0 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7" 108.168.250.151:58431 x_forwarded_for:"94.114.26.231" x_forwarded_proto:"https" vcap_request_id:aa1dc020-8cbf-4338-7b1a-7b079d189a60 response_time:0.222157618 app_id:4c20dc63-d050-49f7-bb10-6e5cccab965d x_global_transaction_id:"3540714463" 1/2/2016 5:31:12 PM OUT App [AUDIT ] CWWKS9104A: Authorization failed for user chat-p6ydtq2fkr-cp16.iam.ibmcloud.com/www.ibm.com/tobi while invoking myapp on /. The user is not granted access to any of the required roles: [any-authenticated].
"未授予用户访问任何所需角色的权限"如何授予用户对"任何已验证"所需角色的访问权限?Cloud Directory似乎没有用户/角色映射功能.我的错误在哪里?
感谢任何支持,托比亚斯
自由webapps的入门包在wlp /子文件夹中提供了server.xml.这个显然没有得到Bluemix运行时环境的支持,因此这部分基本上没有被解释.
如果删除server.xml文件,则会得到相同的结果.因此,我正在研究如何解释application-bnd参数.
因此我偶然发现了这篇文章:https://developer.ibm.com/bluemix/2015/04/14/easy-single-sign-bluemix-web-applications-using-company-credentials/
如果您创建以下文件,它可以工作:
的src /主/ web应用/ META-INF/IBM-应用bnd.xml
这将由bluemix运行时获取,并且403 /身份验证失败消失了.可能有可能以某种方式用server.xml修复它,但在它运行后退出研究.如果有人有建议/清洁解决方案,请分享.
谢谢 :-)