Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
306 views
in Technique[技术] by (71.8m points)

web - Set default login/authentication in server.xml. How can you do this?

Extract from my server.xml :

<basicRegistry id="basic" realm="customRealm">
     <user name="[email protected]" password="password" />
</basicRegistry>

Currently, this requires login from the user in the form of a dialog box.

I would like for the user to be logged in as [email protected] by default, without any dialog boxes or having to type anything.

How can I do this?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...