How can i design my application to prevent multiple login

i need to develop a new application which want to prevent multiple user login. How can i do that? if i put all userid in a stack/arraylist and set it global, then set a filter to check the stack each time, is it ok, or have another better solution to do that. Thanks.

Your client application needs to contain a unique Session identifier and the server application needs to keep a mapping of these Session identifiers against the User that is logged in.
Then if another client app trys to log in with the same User ID and it is not the same as the current logged in Session identifier for that User, you can deny them access.
Make sure the client app has a mechanism for logging out the current User/Session identifier, by way of a button or event.
Events may go as follows:
1. User A logs in
2. Server app creates Session ID 1.
3. Client app is assigned Session ID 1.
4. Server app maps User A to Session ID 1.
then later
5. Different user tries to log in as User A.
6. Server app checks for Session ID.
7. No Session ID exists.
8. Not the same user - go away (or other instruction)
or
5. Original User A (from point 1) logs in again.
6. Server app checks for Session ID.
7. Client app sends Session ID 1.
8. Server app checks mapping of Session ID 1 to User A.
9. Success, User A is the original user - please continue what you're doing.
How you implement the storing of the Session ID on the Client app is dependant on the type of app your building - Cookies for web apps or encrypted files for GUI apps. The same applies for storing the mapping of the User to the Session but a database is the easist route to follow.
Hope this helps.

Similar Messages

  • How to prevent multiple logins by using HttpBindingListener

    Hi,
    Can anyone tell me how do i actually use session to prevent multiple login from different machine? From my understanding, i need to use HttpBindingListener to valueBound and valueUnbound when user tries to login, but i encounter a problem is my session is always overwritten since i use setAttribute() method in servlet.
    For instance i use username(aaa & bbb) to login in two different machine, my login is always overwritten if i use username bbb to login after username aaa. i know it is because setAttribute() method overwrite existing session data, so i would like to know what other method should i use to achieve what i want, tks.

    Hi,
    This is the logic for session :
    Connect to db for verification, once verified, system return a UserBean and this UserBean will be set in ClientSecurityEngine
    When this particular user has been successfully verified, a new session will be created
    if(success)
        session = request.getSession();
        User user;
        synchronized(session)
        user = (User) session.getAttribute("user");                       
        if(user == null)
           user = new User(ClientSecurityEngine.getInstance().getUserBean().getUsername());
           session.setAttribute("user", user);
    /* User class */
    public class User implements HttpSessionBindingListener {
        private static Map<String, HttpSession> logins = Collections.synchronizedMap(new HashMap<String, HttpSession>());
        private String username;
        public User(String username) {
            this.username = username;       
        public String getUsername() {
            return username;
        @Override
        public void valueBound(HttpSessionBindingEvent event) {
            if (logins.containsKey(getUsername())) {
                HttpSession session = logins.remove(getUsername());
                if (session != null) {
                    session.invalidate();
                logins.put(getUsername(), event.getSession());
            } else {
                logins.put(getUsername(), event.getSession());
        @Override
        public void valueUnbound(HttpSessionBindingEvent event) {
            logins.remove(getUsername());
    }Edited by: EJP on 21/07/2011 14:22: added {noformat}{noformat} tags so we can actually read your code. Please use them.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • I have installed Adobe packages and cannot find the Acrobat extension folder please advise how can I get these applications to load onto my computer?

    I have installed Adobe Creative Cloud for teams CC Packages which says that Acrobat XI Pro is installed. Your support page says it does not install Acrobat and I have to look in the Extensions folder for an MSI file.  I have run a number of searches and  cannot find the Acrobat extension folder please advise how can I get these applications to load onto my computer?
    Also I now administer the teams and have accepted the invitation to I received to be a team member and download the apps.  The admin page shows that I have been sent an invitation but does not show my account as "ACtive" unlike my other team members.  I tried to use the link in the invite to accept it become active but the link displayed an error saying I had already accepted the invite... why is no account not active?
    Finally what other product downloads in Creative Cloud do not actually download as part of the Creative cloud Packager for downloading the apps? e.g. acrobat and what else?

    My apologies Eadeszoo I believe our support agents are unavailable on January 1.
    Are you able to copy the contents of the DVD to your computer?  Are you receiving any particular error messages when you are trying to install?  Finally which operating system are you using?

  • Hello everyone. I have my itunes account for some years, and i've purchased far too many apps and music. Now the company i work for, has to change my account in the iphone, in order to use the corporate mails and calendar. How can i keep my applications?

    Hello everyone. I have my itunes account for some years, and i've purchased far too many apps and music. Now the company i work for, has to change my account in the iphone, in order to use the corporate mails and calendar. How can i keep my applications and music?

    Read here:
    http://support.apple.com/kb/ht5621
    Changing your Apple ID to your current, working email address will not create another Apple ID, it will only change it to your working email address.

  • How can i protect J2EE applications from piracy?

    I m looking for solution to protect Web application from piracy.
    I want my application run on web server for which it is built, &
    it musn't run on any other web server.
    how can i protect my web application from piracy?.
    Our .Net applications we protect using Hardware ID binding ,
    How can i protect J2EE applications?

    How is it going to get anywhere else? What's the threat model here? and what's the real, not imaginary, cost to you of the threat succeeding? and can you price your product such that it's cheaper to buy it than to pirate it?
    The answers to this question probably aren't in the field of tricky code or cryptography. They're more likely in marketing, time-to-market, pricing, and in physical security of the server, ...

  • I have an ipod touch 2 and rebuilt my laptop.  Reinstalled ITUNES and can't find my applications on ITunes after login.  I tried to activate Itunes again but it didn't.  How can I get my applications to display on ITUNEs?

    I have an Ipod Touch 2 and rebuilt my laptop.  Reinstalled ITUNES and can't find my applications on ITunes after login.  I tried to activate Itunes again but it didn't.  How can I get my applications to display on ITUNEs?

    It sounds like you essentially have a new computer and unless you restored from a backup your iTunes library would be empty.  You can transfer your iTunes purchases from your iPod to the computer by:
    iTunes Store: Transferring purchases from your iPhone, iPad, or iPod to a computer
    SInce you changed syncing computers. after you move the stuff you need to restore the iPod to factory defaults and sync the stuff back to your iPod.  If you had the iPod backup file you could restore from backup.
    If you have non-iTunes pruchases you can copy them to your computer by using one of the third-party programs discussed in this previous discussion:
    Best iPod to PC

  • How can i design a smart antenna using labview?? plzz

    i have my final year project. I am student of Beng in Telecommunications. How can i design a smart antenna using switched beam algorithm on lab view??

    You can hardly use LabVIEW to design antenna, but definitely can use LabVIEW for Characterization, Optimization, and Test your antenna design.
    Hope you got the point here.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • How can I execute external application?

    Hi friends I want printing my barcodes a laser printer (Kyocera) it isn't a barcode printer. So I think (and I look kyocera web page my model doesn't support barcode printing in sap) print my barcodes using an external system. Before SAP we are using JollyPrint application for printing barcodes. It is using an Excel file.
    I can create a excel file for this application. I must execute this (JollyPrint-it is a label application) application when I press a button. How can I execute this application?
    Thanks
    Mehmet
    P.S. I have been writing this message with details may be somebody can give me a simple way for this

    Well, I can suggest you following steps. May be it works for you .
    -Create an external OS command in SM69
    -Test OS command in SM49 ( <u><i>about OS command if you search in SDN you’ll get lot of material</i></u> )
    -Create a Script at your OS level, I’m assuming you might have some UNIX flavor or Sun solaria’s.
    -Create a Shell script , which execute the printer job from OS .
    -Shell script will have parameters . ( e.g. printer name, destination etc )
    -set the path of shell script directory in SM69 ( the command you just created )
    -Execute shell script using your ABAP program ( use FM "SXPG_COMMAND_EXECUTE" )
    In the ABAP  program you can pass the parameters and execute the command from ABAP as a result your job will start printing on the required destination. Moreover, you can also capture the spool at OS level .
    FYI
    For UNIX script, if you search in www.google.com ( UNIX forums) . you’ll get shell script .
    Hope this’ll give you idea!!
    <b>P.S award the points.</b>
    Good luck
    Thanks
    Saquib Khan
    "Some are wise and some are otherwise"

  • How can I allow the application to line through a field that has been locked after being digitally signed?  We have multiple sections on a form with some fields being proposed information and other in another section having the approved information. once

    How can I allow the application to line through a field that has been locked after being digitally signed?
    We have multiple sections on a form with some fields being proposed information and other in another section having the approved information. once the approved information is entered we line through the proposed field so the data entry clerk won't pick up the wrong information.  However we are receiving an error when attempting to enter data  in the field which we have this edit.  Error property: line through cannot be set because doing so would violate the document permission setting.  any idea how we can get around this issue?

    You can control which fields are locked down after signing by setting up a collection. Then those that are not locked can be changed after signing. If this is not possible, then the line outs must occur prior to signing.

  • How can change language of application dynamic?

    In the dialog I have combo box in which I can select desire language for application. When I select value I save this value in the config file. But language change ONLY when I exit and again enter to the application. How can change language of application dynamic (without exit from application) ?

    alexpass wrote:
    In the dialog I have combo box in which I can select desire language for application. When I select value I save this value in the config file. But language change ONLY when I exit and again enter to the application. How can change language of application dynamic (without exit from application) ?I guess your application sets the locale at "startup", based on the contents of the config file, using a call to java.util .Locale.setDefault(Locale). Did you try to call this method in response to the selection in the combobox?
    This won't refresh all widgets already created however. You probably have to re-create them all.
    There may be case-by-case way to refresh them, for example Locale-dependent layout may be taken into account dynamically. Try and tell us.

  • How can i design square signal which having a positive and negative values equal to each other and separated from each other by controlled time or distance

    How can i design square signal which having a positive and negative values equal to each other and separated from each other by controlled time or distance, As it is shown in the figure below. and enter this signal in a daq.
    Solved!
    Go to Solution.

    By the time you spend for the nice diadram you might have done the vi
    Your DAQ like to have a waveform (array of values and dt ak 1/samplerate)
    If you set the samplerate you know the array length , create a array of zeros, and set the values of both amplitudes ... 
    Since I don't want to wire others homework here are some pictures
    And there are some drawbacks is room for improvement in my solution, just think of rounding errors ... and what might happen if the arrays get bigger ....
    Spoiler (Highlight to read)
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

  • How can I close this application?

    I entered a script that autoclicks every 0.1 seconds and I didn't turn off the mouse thing so it just keeps entering 5s. I can't do anything except move my cursor(can't click or type). How can I close this application?

    > I have an interface (main vi) wich call another interface (pop
    > up).this interface call another interface. How can I do in order to
    > close the interface which is calling without stopping my application
    >
    There is a mechanism built into subVIs and subVI calls to open when
    called and close when finished. This still works fine for many tasks
    and is quick and easy. To use this, you can use the File>>VI Properties
    on your subVI, go to Window Appearance, Customize, and it is in the left
    column near the bottom.
    You can also set this on a subVI call by right clicking, choosing SubVI
    node setup and set the same Open when called and Close on exit settings.
    The difference between them is that the first will affect every usage of
    the VI, whereas the
    second can be set to pop open sometimes and other
    times not.
    Of course there is another way, introduced when the VI server was added.
    There is a VI property for the VI class, Front Panel Window Open.
    Setting it to True and FALSE will open and close. There is also now a
    method for opening and closing with a few additional options.
    The VI Server allows for more control and flexebility, but the first two
    options are still perfectly valid for simple things. If using them,
    closing your subVI is as simple as exiting your outer loop of your
    subVI. This returns and closes the window all at once giving control
    and and data parameters back to the caller. If using the VI Server, you
    can either close the window just before returning or leave it to the
    caller. Just be sure they are in agreement.
    Greg McKaskle

  • I've downloaded Photpshop elements 13 : how can I open the application ?

    I've downloaded Photpshop elements 13 : how can I open the application ?

    Thank you Kglad and John
    Your question about 32 bit or 64 bit was good. In fact, before our exchanges, I downloaded Photoshop but I didn't run the application.
    After our messages, I tried to click the setup
    First,when I clicked  "setup" in the directory ""32 bit PhotoshopElem13" I had an error message , then, I clicked the setup in the second directory, it was the good one.... 64 bit !
    All is OK
    "Merci" from Paris

  • How can I make my application as webservice

    Hi All,
    I'd like to know ,how can I make my application as webservice which has built on strut framework.
    with regards
    Babu H

    I'm not quite sure what you mean by application, but you can not turn whole applications to webservices. What you can do easily is to turn your services, e.g. the public methods in your stateless session bean layer as web services. There is different ways to do this, but you might want to check out Axis (http://ws.apache.org/axis ), which is a OS tool for creating WS call stacks over existing objects.

  • How can I design and send emailers using Adobe Muse?

    Hello Geeks,
    How can I design and send emailers using this wonderful software called Adobe Muse?

    Hi
    Are you referring , creating email templates or sending marketing campaigns ?
    We cannot create templates as Muse doesn't output HTML optimized for e-mail output.
    Regarding email campaigns, you can setup this from hosting platform end.
    More details :
    https://forums.adobe.com/message/5469744
    Re: Is it possible to create email templates using Muse?
    Thanks,
    Sanjit

Maybe you are looking for

  • Backing up an iPod to an external hard drive?

    Hi, i need to update my iPod Touch's software to 4.0, but i need to back up all of my stuff on it. Thing is i can't do that on my actual computer, so i was wondering if there was any way i could back it up onto an external hard drive, save me losing

  • What are the differences between the following Oracle database views?

    What are the differences between the following Oracle database views(or function)? Can they be instead of each other? Can all of them be used to pull out the execution plan from the library cache? V$SQL_PLAN DBA_HIST_SQL_PLAN dbms_xplan.display_curso

  • GL is determined but no assingment in mov.161

    Hello friends, I am not able to understand how it's happening. Need you support to understand. PO - Return PO GR - Mov.Type - 161 T-code - MIGO_GR Movement type 161 assigned to trancation key  KBS only. OBYC - No account assignment to KBS Now When we

  • Using iPhoto with an existing directory structure on HD full of jpgs

    I'm using iPhoto 6. I recently moved 7,000+ photos (jpgs) off my PC onto my new Mac harddrive. They are organized into dozens of folders and subfolders. How can I use iPhoto to work with the pics within this directory structure? I tried dragging and

  • OSX Lion on new Macbook pro

    Just bought a Macbook pro, with the release of OSX lion, will i get a free upgrade, or do i still need to buy OSX Lion like everyone else?