具有多个登录模块的安全域仅适用于数据库登录

时间:2014-05-01 00:18:47

标签: jboss7.x wildfly

所以我测试了facebook的picketlink示例,我将所有文件复制到我当前的应用程序中,然后才能运行。

我的应用程序允许用户在我的网站帐户下注册和使用该网站,其想法是添加facebook和openid支持。

所以除了当我尝试在我的安全域下输入文件夹时,一切似乎都有效。

http://localhost:8080/mapache/pages/secure

如果我尝试访问任何内容,我会看到我的login.jsp页面,其中包含用户和密码字段,我可以使用我的数据库中的用户进行登录,

但问题在于我的facebook身份验证

这是我的standalone.xml上的安全域

<security-domain name="mapacheSecurity">
                    <authentication>
                        <login-module code="org.picketlink.social.facebook.FacebookLoginModule" flag="sufficient"/>
                        <login-module code="Database" flag="sufficient">
                            <module-option name="dsJndiName" value="java:jboss/mapacheDS"/>
                            <module-option name="principalsQuery" value="select password from usuario where lower(usuario)=lower(?) and activo = 'true'"/>
                            <module-option name="rolesQuery" value="select 1, 'Roles' from usuario where ? is not null"/>
                            <module-option name="hashAlgorithm" value="SHA-256"/>
                            <module-option name="hashEncoding" value="base64"/>
                        </login-module>
                    </authentication>
                </security-domain>

但是当我访问我的fb.jsf时,该页面基本上是来自picketlink facebook示例的home.xhtml的副本,它似乎正确记录,它要求我的Facebook用户和密码,它重定向回我的fb.jsf页面,我收到消息,我已记录,我和注销按钮,但如果我尝试访问我的安全文件夹下的任何内容,我需要使用我的数据库中的用户和密码。

这条线是否正确,我还需要什么:

 <login-module code="org.picketlink.social.facebook.FacebookLoginModule" flag="sufficient"/>

0 个答案:

没有答案