Hi,
My comment inline.
On 2010-5-28, at 上午6:23, IvanMiletic wrote:


Hi,

First off, I'm pretty new to all of this. I'm using ServiceMix 3.3.2.

I wanted to secure the cxf-wsdl-first example using WS-Sec and only a
plaintext UsernameToken. I added a policy to the wsdl file, which you can fine here: http://old.nabble.com/file/p28700520/person.wsdl person.wsdl . I
didn't really change anything else.

My understanding was that the cxf-bc would just use JAAS out-of-the- box to
authenticate a user. I guess I was wrong. I got an exception about the
WSS4JInInterceptor's getPasswordCB containing a null reference. Looking throughout the web, I see that people explicitly add the WSS4JInInterceptor, with references their own password callbacks, which in turn also does some
kind of password check.

I'm confused, because now it looks to me like both WSS4J and JAAS are doing
authentication. Is that correct? If so, why?
Yeah, both wss4j and JAAS are doing authentication.
About wss4j, the callback handler must be here, as it's requested by wss4j, this is ws-security concept auth, we can't skip it when we introduce ws-security which bring us username/passward with soap security header. About JAAS, we can get username/password from ws-security UsernameToken soap header and delegate to smx AuthenticationService, that's what JbiJAASInterceptor do, this is smx auth. So here we actually have two auth, one from ws-security UsernameToken(can only do username/password) an one from smx AuthenticationService(can do username/password and role definition). However in the callback handler, you can load $SMX_HOME/conf/users- passwords.properties programtically and set password accordingly, I believe by this way, it meet your requirement for only one source of userinfo.

Or if you only want to do ussername/password auth, you doesn't care the role provided by smx, you can only use ws-security UsernameToken, you need add delegateToJaas="false" flag to cxfbc consumer endpoint to bypass the JbiJAASInterceptor.

Note: delegateToJaas is new added flag which is tracked by SMXCOMP-697[1], if you use latest released Apache Servicemix 3.3.2, you can use it.

[1]https://issues.apache.org/activemq/browse/SMXCOMP-697

Freeman


I would like for there to only be one source for user info.

Thanks,

--
View this message in context: 
http://old.nabble.com/CXF-BC-WS-Sec-Auth-tp28700520p28700520.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to