Authenticating to Socks proxy using different accounts in a given JVM

I have a J2EE application that runs some background jobs. Each of these background jobs need to connect to an external FTP server. However, all connections must go through a central SOCKS proxy server. The SOCKS proxy server is set up to require authentication using user names and passwords. Everything works fine if I've to use this SOCKS proxy with "a set" of credentials across all background jobs. However, if I want Job1 to use "user1" for SOCKS login, and Job2 to use "user2" for SOCKS login, I can't seem to find a way to do this. I need this functionality for accounting purposes. Any help on how this can be accomplished is greatly appreciated.
Regards,
Sai Pullabhotla

I tried implementing the ThreadLocal idea and I think the code is working as expected, but my proxy logs are not matching up with what the code says. Below is the code I've including a test class. See below the code for my additional comments.
import java.net.Authenticator;
import java.net.PasswordAuthentication;
* A customer authenticator for authenticating with SOCKS Proxy servers.
public class ProxyAuthenticator extends Authenticator {
      * A thread local for storing the credentials to the SOCKS proxy. The Javadoc
      * for ThreadLocal says they are typically used for static fields, but
      * here I've a singleton instance. Hope this is not an issue.
     private ThreadLocal<PasswordAuthentication> credentials = null;
      * Singleton instance.
     private static ProxyAuthenticator instance = null;
      * Creates a new instance of <code>ProxyAuthenticator</code>. Each thread
      * will have its own copy of credentials, which would be <code>null</code>
      * initially. Each thread must call the <code>setCredentials</code> method
      * to set the proxy credentials if needed.
     private ProxyAuthenticator() {
          credentials = new ThreadLocal<PasswordAuthentication>() {
               @Override
               protected PasswordAuthentication initialValue() {
                    System.out.println("ThreadLocal initialized for "
                         + Thread.currentThread().getName());
                    return null;
               @Override
               public void set(PasswordAuthentication value) {
                    System.out.println(Thread.currentThread().getName() + " SET");
                    super.set(value);
               @Override
               public PasswordAuthentication get() {
                    System.out.println(Thread.currentThread().getName() + " GET");
                    return super.get();
      * Returns the singleton instance of this class.
      * @return the singleton instance of this class.
     public static synchronized ProxyAuthenticator getInstance() {
          if (instance == null) {
               instance = new ProxyAuthenticator();
          return instance;
      * Sets the proxy creditials. This method updates the ThreadLocal variable.
      * @param user
      *            the user name
      * @param password
      *            the password
     public void setCredentials(String user, String password) {
          credentials.set(new PasswordAuthentication(user, password.toCharArray()));
     @Override
     public PasswordAuthentication getPasswordAuthentication() {
          System.out.println("Requesting host: " + this.getRequestingHost());
          System.out.println("Requesting port: " + this.getRequestingPort());
          System.out.println("Requesting protocol: "
               + this.getRequestingProtocol());
          System.out.println("Requesting prompt: " + this.getRequestingPrompt());
          System.out.println("Requesting scheme: " + this.getRequestingScheme());
          System.out.println("Requesting site: " + this.getRequestingSite());
          System.out.println("Requesting URL: " + this.getRequestingURL());
          System.out.println("Requestor type: " + this.getRequestorType());
          System.out.println(Thread.currentThread().getName()
               + " Authenitcator returning credentials "
               + credentials.get().getUserName() + ":"
               + new String(credentials.get().getPassword()));
          return credentials.get();
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Socket;
import java.net.Proxy.Type;
* A test class for testing the {@link ProxyAuthenticator}.
public class SocksProxyTest implements Runnable {
      * Socks proxy host, used by the FakeFtpClient
     private static final String SOCKS_PROXY_HOST = "192.168.1.240";
      * Target FTP host to connect to
     private String host = null;
      * Proxy user
     private String proxyUser = null;
      * Proxy password
     private String proxyPassword = null;
      * Creates a new instance of <code>SocksProxyTest</code>
      * @param host
      *            the target FTP host
      * @param proxyUser
      *            proxy user
      * @param proxyPassword
      *            proxy password
     public SocksProxyTest(String host, String proxyUser, String proxyPassword) {
          this.host = host;
          this.proxyUser = proxyUser;
          this.proxyPassword = proxyPassword;
     public void run() {
          // Create the FakeFtpClient
          FakeFtpClient test = new FakeFtpClient(host, 21, proxyUser,
               proxyPassword);
          for (int j = 0; j < 5; j++) {
               try {
                    test.connect();
                    test.disconnect();
                    // Thread.sleep(10000);
               catch (Throwable t) {
                    t.printStackTrace();
      * Test run.
      * @param args
      *            command line arguments
      * @throws IOException
      *             propagated
     public static void main(String[] args) throws IOException {
          // Get the singleton instance of the ProxyAuthenticator.
          ProxyAuthenticator authenticator = ProxyAuthenticator.getInstance();
          // Update the default authenticator to our ProxyAuthenticator
          Authenticator.setDefault(authenticator);
          // Array of FTP hosts we want to connect to
          final String[] ftpHosts = { "192.168.1.53", "192.168.1.54",
                    "192.168.1.55" };
          // Proxy login/user names to connect to each of the above hosts
          final String[] users = { "User-001", "User-002", "User-003" };
          // Proxy passwords for each of the above user names (in this case
          // password == username).
          final String[] passwords = users;
          // For each target FTP host
          for (int i = 0; i < 3; i++) {
               // Create the SocksProxyTest instance with the target host, proxy
               // user and proxy password
               SocksProxyTest spt = new SocksProxyTest(ftpHosts, users[i],
                    passwords[i]);
               // Create a new thread and start it
               Thread t = new Thread(spt);
               t.setName("T" + (i + 1));
               try {
                    t.join();
               catch (InterruptedException e) {
                    e.printStackTrace();
               t.start();
     * A fake FTP client. The connect method connects to the given host, reads
     * the first line the server sends. Does nothing else. The disconnect method
     * closes the socket.
     private static class FakeFtpClient {
          * The FTP host
          private String host = null;
          * The FTP port
          private int port = 0;
          * Proxy login/user name
          private String proxyUser = null;
          * Proxy password
          private String proxyPassword = null;
          * Socket to the target host
          private Socket s = null;
          * Creates a new instance of <code>FakeFtpClient</code>
          * @param host
          * the FTP host
          * @param port
          * the FTP port
          * @param proxyUser
          * Proxy user
          * @param proxyPassword
          * Proxy password
          public FakeFtpClient(String host, int port, String proxyUser,
               String proxyPassword) {
               this.host = host;
               this.port = port;
               this.proxyUser = proxyUser;
               this.proxyPassword = proxyPassword;
          * Connects to the target FTP host through the specified Socks proxy and
          * proxy authentication. Reads the first line of the welcome message.
          * @throws IOException
          * propagated
          public void connect() throws IOException {
               System.out.println(Thread.currentThread().getName()
                    + " Connecting to " + host + " ...");
               // Update the ProxyAuthenticator with the correct credentials for
               // this thread
               ProxyAuthenticator.getInstance().setCredentials(proxyUser,
                    proxyPassword);
               s = new Socket(new Proxy(Type.SOCKS, new InetSocketAddress(
                    SOCKS_PROXY_HOST, 1080)));
               s.setSoTimeout(10000);
               s.connect(new InetSocketAddress(host, port), 10000);
               System.out.println(Thread.currentThread().getName() + " Connected");
               BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
                    s.getOutputStream()));
               BufferedReader reader = new BufferedReader(new InputStreamReader(
                    s.getInputStream()));
               System.out.println(reader.readLine());
          * Closes the socket.
          public void disconnect() {
               System.out.println(Thread.currentThread().getName()
                    + " Disconnecting...");
               if (s != null) {
                    try {
                         s.close();
                         System.out.println(Thread.currentThread().getName()
                              + " Disconnected");
                    catch (IOException e) {
                         e.printStackTrace();
Looking at the test class, it creates 3 threads T1, T2 and T3. T1 is setup to connect to 192.168.1.53 using a proxy user User-001 and T2 is setup to connect to 192.168.1.54 using proxy user User-002 and T3 connects to 192.168.1.55 using proxy user User-003.
Each thread then loops 5 times to connect to their target servers and disconnect each time. All the debug (System.out) statements indicate that the getPasswordAuthentication is returning the correct credentials for each thread. However, when I look at the logs on the proxy server, the results are different and arbitrary.
Below is the proxy log:
[2011-01-24 11:10:11] 192.168.1.240 User-001 SOCKS5 CONNECT 192.168.1.54:21
[2011-01-24 11:10:11] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.53:21
[2011-01-24 11:10:11] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.55:21
[2011-01-24 11:10:11] 192.168.1.240 User-003 SOCKS5 CONNECT 192.168.1.55:21
[2011-01-24 11:10:11] 192.168.1.240 User-003 SOCKS5 CONNECT 192.168.1.55:21
[2011-01-24 11:10:11] 192.168.1.240 User-003 SOCKS5 CONNECT 192.168.1.55:21
[2011-01-24 11:10:11] 192.168.1.240 User-003 SOCKS5 CONNECT 192.168.1.55:21
[2011-01-24 11:10:11] 192.168.1.240 User-003 SOCKS5 CONNECT 192.168.1.54:21
[2011-01-24 11:10:11] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.53:21
[2011-01-24 11:10:12] 192.168.1.240 User-001 SOCKS5 CONNECT 192.168.1.54:21
[2011-01-24 11:10:12] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.53:21
[2011-01-24 11:10:12] 192.168.1.240 User-001 SOCKS5 CONNECT 192.168.1.54:21
[2011-01-24 11:10:12] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.53:21
[2011-01-24 11:10:12] 192.168.1.240 User-001 SOCKS5 CONNECT 192.168.1.54:21
[2011-01-24 11:10:13] 192.168.1.240 User-002 SOCKS5 CONNECT 192.168.1.53:21
As you can see from the first line in the log, the proxy says User-001 connected to 192.168.1.54, but the code should always connect to 192.168.1.53 with user User-001.
Any idea on what might be going on?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Similar Messages

  • My wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the photo

    my wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the primary photo iCloud account and thus our shared photo system. We are running yosemite OS X 10.10 and iOS 8.0.2... Is there any way to do this?

    my wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the primary photo iCloud account and thus our shared photo system. We are running yosemite OS X 10.10 and iOS 8.0.2... Is there any way to do this?

  • Best practice - using different accounts

    hello all - i know it is not a good practice for different people to use a single account (SQL authentication) especially when the account has SA privileges. how do we convince the business (non-tech users) that this is bad? any compliance issues etc?
    thank you in advance!!

    Hope these links can help:
    SQL Server Separation of Duties Whitepaper
    Why is it a bad practice to allow everyone to use the sa login?
    T-SQL Articles
    T-SQL e-book by TechNet Wiki Community
    T-SQL blog

  • How to use different account in Dreamweaver CC 2014

    I am trying to use a different login for business catalyst than the one my adobe Id is associated with. I looked at the FAQ but the logout button does not appear in the extension. Is there a way to switch accounts?

    I agree that this is a big flaw with DW.
    I'm in the same position and have an Adobe Creative Cloud ID that is different to the one I use for Business Catalyst.
    Strange when it is so easy to switch between Adobe ID accounts in Muse to sync client sites without deactivating the app.
    If anyone knows of a quick work-around solution for this problem I'd be grateful if they would share.

  • Two iPhone same AppleiD moving to iCloud using different account. What happens to the app ?

    Here is the scenario.
    Me and my wife have two different iphone with the same AppleiD. She has her own mail, her music playlist, her photoalbum and of course we share some of the apps bought with my AppleiD.
    Now that we are moving to iCloud I was wondering if she can keep the apps or she has to buy them again.
    Roberto

    you can use the same apple id with DIFFERENT EMAILS for find my friends. That said, i just set my wife up with a brand new apple id that *is* her email address to make it easy for friends to find HER.
    Then i erased my primary email from my iTunes purchase apple id and ADDED it to my @me.com apple id so i ca have MY normal email address work with find my friends.
    now i can have my NON email apple-id work for iTunes purchases and i don't have to ADD yet one MORE apple id (i'm already at the MAX of FIVE allowed to sync to an iDevice!)
    so my email address: [email protected] is attached to my [email protected] apple id, and friends can request and it works great. I use the [email protected] for signing on on *MY* phone *and* my wife's phone for iCloud (so our calendars and contacts are shared) then my WIFE is signed into find my friends with [email protected]
    I've had a non-email apple id since apple id existed. i've changed my email about half a dozen times since that time, and even so, accidentally purchased a few things with OTHER apple id's (that are now defunct emails); very moronic to use a non-apple-controlled email address as a user id! yeesh that was dumb.

  • How to set up authentication against Active Directory using custom account

    Hi All,
    Our development BPC server (version 7.0.112, MSSQL Server 2005) was installed using a local user in domain X. It is a single-server installation (meaning all services were installed on that server). The dev server always has the latest data/users by restoring the production backup on the dev server. For testing purpose, I need to allow a user of domain X to log in and do a testing.
    Is there a way to configure the dev server to authenticate against an Active Directory in domain X using a special user in the domain X? If yes, how can I configure the dev server?
    Thanks.

    The installation user must be a domain user with rights to browse domain X.
    Otherwise you are not able to add users fom domain.
    In your case installation was done with a local user which means you willnot be able to use domain users.
    It can be an workaround if you will change the identity for 2 COM+ components to be a domain user instead to be that local user.
    Any way I don't advice you to do this. It will be better to reinstall the dev using a domain user.
    The COM+ which has to be changed are:
    OsoftAdminServer
    OsoftUserManage
    Attention domain user used must be added into administartor group of BPC server and also to have sys admin right to SQL Server.
    I hope this will help you.
    Regards
    Sorin Radulescu

  • Socks Proxy Authentication

    I have working socks proxy with Java Mail 1.4.5 without user name/password but wish to support socks proxies that require user names and passwords.
    I have tried using an authenticator on the Session.getInstance(Properties, Authenticator) object but I get an error saying incorrect user name/password on my socks proxy.
    My sample code is below:
    Properties properties = getProperties();
    final String socksProxyUserName = "test";
    final String socksProxyPassword = "test";
    Authenticator authenticator = new Authenticator() {
         @Override
         protected PasswordAuthentication getPasswordAuthentication() {
              PasswordAuthentication passwordAuthentication = new PasswordAuthentication(socksProxyUserName, socksProxyPassword);
              return passwordAuthentication;
    Session session = Session.getInstance(properties, authenticator);
    My socks proxy is FreeProxy.
    I am using this method for socks proxy support in java mail.
    If your proxy server supports the SOCKS V4 or V5 protocol (http://www.socks.nec.com/aboutsocks.html, RFC1928) and allows anonymous connections, and you're using JDK 1.5 or newer and JavaMail 1.4.5 or newer, you can configure a SOCKS proxy on a per-session, per-protocol basis by setting the "mail.smtp.socks.host" property as described in the javadocs for the com.sun.mail.smtp package. Similar properties exist for the "imap" and "pop3" protocols.
    Message in Proxy logfile is:
    Fri 20 Jul 2012 09:37:59 : ACCESS : Instance:'socky' Protocol:'SOCKS-5-Proxy' Access:'Forbidden' Client IP:'10.45.16.21' User:'test/FPDOMAIN' Resource Type:'User Authentication' Resource:'Authentication: User/password invalid'
    I have confirmed user name and password several times and tried extra ones just in case but no luck.
    Does anybody have any ideas. THe fact that it tries to authenticate the login on my proxy server suggests I'm trying the correct method to connect to me but can someone confirm this for me?
    This proxy has this user added as I set it up myself.
    Edited by: 947715 on 20-Jul-2012 01:15
    Edited by: 947715 on 20-Jul-2012 01:16
    Edited by: 947715 on 20-Jul-2012 01:40
    Edited by: 947715 on 20-Jul-2012 03:10

    I got it working now using the below:
    final String socksProxyUserName = configurationService.getString(IParameterConstants.SOCKS_PROXY_USERNAME);
    final String socksProxyPassword = configurationService.getString(IParameterConstants.SOCKS_PROXY_PASSWORD);
    if (!socksProxyUserName.equals(EMPTY_STRING)) {
         java.net.Authenticator authenticator = new java.net.Authenticator() {
    @Override
         protected java.net.PasswordAuthentication getPasswordAuthentication() {
              return new java.net.PasswordAuthentication(socksProxyUserName, socksProxyPassword.toCharArray());
         System.setProperty("java.net.socks.username", socksProxyUserName); //$NON-NLS-1$
         System.setProperty("java.net.socks.password", socksProxyPassword); //$NON-NLS-1$
         java.net.Authenticator.setDefault(authenticator);
    }

  • Use different DPS accounts for iPad and Android versions of same app?

    Hi there,
      When creating an Android version of an iPad DPS app should the account used to create the content (the 'Title ID' in the DPS App Builder) be the same for both versions, or different? In the content viewer I know that iPad content will show up even on Android, so I'm thinking that the answer is probably no, but I haven't managed to find it mentioned in the Adobe docs.
      Thanks,
    Toby

    It depends, but usually the answer is that you want to use a different account for iOS and Android. Not all features supported in the iOS viewer are supported in the Android viewer. For example, if you use panoramas or iOS-specific web views in your articles, you'll want to be able to use different content for the Android viewers. Search for "dps supported features" for a comparison chart.
    I use different Application accounts for my apps. I use the Share/Copy feature to transfer the folios from the iOS account to the Android (or Windows) account. Then I delete the few articles that don't work well in the viewer and replace them with articles generated from different source files. That works well and doesn't require too much extra effort.
    If you want to reduce the amount of letterboxing in Android viewers, you'll definitely want to use different accounts and use, for example, 1280x800 folios instead of 1024x768.

  • IChat Socks Proxy?

    I'm having problems connecting to a Socks proxy using iChat. I know the socks proxy does work (I'm using it now) I know it does connect to AIM since It works fine using AdiumX.
    Here are my settings:
    (Checked) Connect using proxy
    (Unchcecked) User System Preferences
    Server: 127.0.0.1
    Port: 1080 Protocol: Socks 5
    Username: (blank)
    Password: (blank)
    It works fine on Safari, AdiumX, & X-Chat Aqua... Just not iChat
    When I connect i get this:
    Could not connect to AIM
    The AIM proxy refused the connection. Check the proxy information in the Accounts section of iChat preferences.

    I am having this very same problem; similar environment. I have a SOCKS4 proxy that I know works with other connections, including a "generic" AIM account. Anybody have any ideas?

  • I was login a website ,and i have opened cookies , i want to open another window to login the same website use another account , and in the same windows can use the same account , how can i achieve it ? thinks

    i want to use firefox to login a website ,in the same window and different tags can user the same session
    but when i open other window and login the same website use different account .
    how can i achieve it ? thinks

    Your problem has nothing to do with the faults or limitations of a web browser.
    ''There can be only ONE active user logged in on a specific website during a whole Browsing Session. Even if you try to log-in using a new window it will sign-out the earlier User ID from that website. It will keep the most recent logged-in User ID active.''
    This is the general policy on which all websites are built. Even if you try to login the same website from another web browser, you won't be able to login from the second platform either. I just check it. Tried on Mozilla and Internet Explorer.

  • HT5625 how to accept applications previously uninstalled from different account?

    This is my problem in my macbook. I deleted Iphoto and Imovie because i cannot able to update it for it was installed using different account the previuos owner of my macbook. all his preinstalled application cannot be updates since it was his account. how can i can i install iphoto and i moveie using my own account? please help me.

    There's no need to create a new Apple ID just because the hard drive was replaced.
    Apps can only be re downloaded using the same Apple ID they were purchased with originally.
    You will have to re purchase the app using the new Apple ID.

  • Setting up a SOCKS proxy

    So this is what happens when I try and set up a SOCKS proxy using ssh and my vps (I've edited out my personal IP address and other similar details).
    http://i.imgur.com/WIDgE.png
    I have no idea why the proxy seems to be working but not returning any data.

    set your ssh port to 22 in your home server. and install fail2ban which will prevent bruteforce attacks.
    you can also disable password logins and take your public key to your home server in a pendrive.
    then simply ssh -D PORT
    ive done this at home, and even if i suffer from login attempts, fail2ban blocks ips with more than 3 failed attempts within 5 minutes.

  • Use Windows Account to logon to WAS (ICM) ...

    Hi All !
    is it possible to use a windows Domain Account to logon to WAS Applications ( BSP or Webdypro in ICM ) ?
    possible with Kerberos or Certificates ?
    How to implement ?
    need help !
    Thanks
    Oliver

    Wolfgang,
    Yes, I hope that Oliver finds this chat/info useful, and not too confusing.
    I am sorry, but the question asked in this post was related to using the Windows Account to logon to WAS. For me that means something like :
    1. The user is currently logging onto Windows using an account, and is authenticating with Active Directory using this account. e.g. via password or smart card, two-factor token etc.
    2. The user wants to use this same Windows account to logon to WAS ABAP. This implies the same authentication method used to logon to Windows (e.g. password, smart card, two-factor token etc.) should be used to logon to SAP WAS. This relates to the question being asked by Oliver.
    So, if we first consider x.509. How are you proposing that the user authenticates using their certificate, and determines their Windows account from this certificate when they  log onto SAP ? The Active Directory approach is to use PKINIT (a Kerberos pre authentication mechanism) to determine the Windows account name from the certificate based authentication, so SAP WAS would have to use PKINIT and/or share the same certificate that Active Directory uses for this to be possible. I am not aware of a method of making this work with SAP software, and if it is possible, it certainly would not be easy. Also, I am not convinced this gives Oliver what he is asking for. The only method I am aware of is to use client certificates to authenticate to SAP, and these certificates would normally be issued by SAP or via an external CA which is trusted by SAP. When using this method to logon to SAP there is no way to relate the certificate to the account name the user is aware of in Windows since the certificate authentication used by SAP is completely separate from the Windows account authentication. Hence, I would say that x.509 cannot be used to meet Olivers requirements.
    Regarding SPNEGO. There was no question asked about SPNEGO - you introduced this technical term in your response, and I answered the question referring to Kerberos since this is what Oliver asked about. Also, this is not supposed to be a discussion about standards, it is a discussion about the methods available to logon to SAP WAS using a Windows account. This is the question I have answered.
    I didn't say that the ABAP systems supported SPNEGO. I simply explained how it is possible to use Kerberos to authenticate to ABAP apps, either via Integrated Windows Authentication or via a logon screen that asks for Active Directory account name and password. This answers the question from Oliver clearly and without confusing him with technology - basically, what he wants to do is possible, very easy and quite commonly implemented by SAP customers, so surely these things are more important than introducing technology and standards in to the discussion when they are not relavent, and certainly better than giving the impression that x.509 is the way to go !
    I don't want this post/discussion to be taken the wrong way. I wanted to make sure that Oliver gets the answer he asked for, and when you responded implying that x.509 was the best option and Kerberos was not possible I felt I had to correct you on this, in the context of the question being asked and my knowledge of the solutions available on the market to address the requirements that Oliver has asked about.
    Regards,
    Tim

  • How to use different (not local) user for NTLM auth in Authenticator?

    Hi All,
    I use custom authenticator to provide user / passwords to connect to .NET Web Services. I overloaded function getPasswordAuthentication() that returns right user / password combination for the requested URL. It all works perfectly for many kinds of HTTP connections: basic, ntlm, ntlm-v2, through proxy, ssl, etc.
    My problem is that during NTLM authentication from Windows computers JVM uses credentials of the currently logged in domain user instead of calling Authenticator to get other user / password provided by the user. In case when local user credentials fail to authenticate, JVM calls my Authenticator but in case authentication is successful it does uses local domain user and never calls my Authenticator. The issue is when this local domain user does not have enough permissions but authenticated correctly there is no way to supply JVM with another user to begin with.
    What can I do to force JVM to ignore local domain user and to use Authenticator to collect credentials during NTLM authentication requested by the server in case the software runs on a Windows box with currently logged in domain user?
    I am looking for the answer for a long time already but found only questions and suggestions to switch server from NTLM authentication which is not an option for me. From the developer's view it has to be pretty simple change for Sun to do in Java networking API. Is there any way to escalate it to Sun support? Maybe there is some property in some JRE patch level that allows to do this?
    Thank you very much!
    Mark

    Thank you for the reply. I have kind of an opposite problem. I can perfectly connect from Linux computers to Microsoft IIS servers using NTLM or even NTLMv2 authentication. My problem is connecting from Windows client computer joined to the same domain as IIS server with the domain user logged in to this computer. In this case this user account will be used in any HTTP connections I initiate to this IIS server instead of the one that I want to supply in my custom Authenticator.
    I have graphical interactive application that connects to IIS Server. When user runs it and connects to IIS server I want to prompt for the user/password regardless whether JRE may correctly authenticate using current user account credentials. The current user may not have enough permissions in IIS application so I want to use different user to login to IIS application.
    Thank you anyway,
    Mark

  • Hi. I am using a time capsule for few PC s. I have made 5 different account to access time capsule. but in windows when i enter account name and password for one account, i cannot access other accounts, because windows saves username

    Hi. I am using a time capsule for few PC s. I have made 5 different account to access time capsule. but in windows when I enter account name and password for one account, i cannot access other accounts, because windows saves username. how can i prevent this from happenning. I really need to access all my accounts and dont want it to save automaticlly.

    Why have 5 accounts if you need to access all of them.. just have one account?
    Sorry I cannot follow why you would even use the PC to control the Time Capsule. Apple have not kept the Windows version of the utility up to date.. so they keep making it harder and harder to run windows with apple routers.

Maybe you are looking for

  • Error while posting usint tcode f-02 in fi

    Hi all, I am getting an error while posting a document using t code f-02.It is allowing me to go through the 3 steps of posting a document  but while saving it gives me the following error message: Error accessing function module:fmfk_fikrs_read para

  • Will Windows 7 damage rescue & recovery option?

    I have installed Windows 7 on my X300 which is running XP. I can boot into XP or Windows 7 but pressing the ThinkVantage button just gives me the option to choose boot device (as F12), BIOS config or normal boot - no recovery option. As it is a secon

  • Handling resize event ...

    I have a class that extends Panel. I add some buttons (Min/Restore/Max/Close ... top right corner,etc) to the chrome using rawChildren.addChild. I'd like to restrict the window to never be allowed to get to a height less than the height of the button

  • Help with "Testing Failed" Error message in iWeb09

    I bought the iLife 09 upgrade purely so I could publish to my own domain server. I have a MobileMe account and iWeb09 publishes fine there--no problems. My domain name is hosted on a Windows NT server. The admin is willing to help, but I was hoping s

  • Stability of Internal/External RAID

    Hello, I was curious to know if you were going to set up a RAID, is there a choice between going with internal drives or external? I've been looking at some external RAID set-ups (G-Technology, Lacie) and they look pretty good. But would a internal d