You could try to use this kind of link to provide authentication credentials in it:
http://userid:secretpassword@yourHost/context-root
Check if it will work and is good enough for your case.
UPDATE
1) The other solution could be to implement FORM login. So you need to change security settings in your application and add following to the web.xml
<login-config>
<auth-method>FORM</auth-method>
<realm-name>myrealm</realm-name>
<form-login-config>
<form-login-page>login.jsp</form-login-page>
<form-error-page>login.jsp</form-error-page>
</form-login-config>
</login-config>
Then you would need to send POST
request to
http://yourHost/context-root/j_security_check
with j_username=userid
and j_password=password
2) Second solution which would would work totally seamlessly would be to create custom TAI like described here - Developing a custom TAI for the Liberty profile
Relevant code fragment from that page:
import com.ibm.wsspi.security.tai.TrustAssociationInterceptor;
public class SimpleTAI implements TrustAssociationInterceptor {
...
public TAIResult negotiateValidateandEstablishTrust(HttpServletRequest req,
HttpServletResponse resp) throws WebTrustAssociationFailedException {
// Add logic to authenticate a request and return a TAI result.
String tai_user = "taiUser";
return TAIResult.create(HttpServletResponse.SC_OK, tai_user);
}
Add the TAI class to the Liberty profile server.
Use one of the following methods to add the TAI class to the Liberty profile server:
- Put the custom TAI class in a JAR file, for example simpleTAI.jar, then make the JAR file available as a shared library. See Configuring TAI for the Liberty profile.
- Package the custom TAI class as a feature. See Developing a custom TAI as a Liberty profile feature.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…