Require a Session variable

Hi
how a variable in a servlet in the others servlets can use?
think you

Hi
if you dlike to send em over a httprequest or so you always first have to define the as follow.
req.getSession().setAttribute("sessionname", "value");
to retrieve the session values you use the getAttribute method!
String sessionsample = req.getSession().getAttribute("sessionname");
Cyrill

Similar Messages

  • Urgent help required...for replacing JSP session variables

    I am trying to enhance the performance of a j2ee based webapp which use session variables to store the data...
    Is there any alternative for session variables..The project is based on j2ee-Struts frame work..But the amount of code maintainance should be minimum ....so i can't create beanforms for all these data...
    Is there any XML based methods available...??

    ok... thanks... i created a fla file and inthe action script
    pasted the following code
    var nc:NetConnection = new NetConnection();
    nc.connect("rtmp://flash.ispstream.com/ondemand/unikron/my_video_dj/");
    var ns:NetStream = new NetStream(nc);
    contentMain.myVideo.attachVideo(ns);
    ns.setBufferTime(5);
    ns.play("dvd_r");
    nothing is working if i tried to load... can u help me out

  • To pass new session variable value to stored proc before running a report.

    Hi,
    Below is summary of the report requirement -
    Database level design
    1. Created a view and a global temporary table (GTT)
    2. Created an Oracle package procedure to accept from and to business dates on basis of which it will fetch, process and populate the GTT.
    Repository level design
    1. Created a business model containing the view and the GTT (mentioned above)
    2. Created two SESSION variables "from_dt" and "to_dt" to be initialized by their respective init blocks. Each of the variable is initialized with a DATE column value (of type DATETIME) from a database lookup table. I have also set the option "Enable that variable to be set by any user" for both variables.
    Query for these variables :
    from_dt = select from_date from <table>
    to_dt = select add_months(from_date,12) from <table>
    Presentation level design
    1. Using a text box, i display the default/initialized values of these variables like this -
    Current business date:@{biServer.variables['NQ_SESSION.from_dt']} Future business dt:@{biServer.variables['NQ_SESSION.to_dt']}
    Dates get displayed in YYYY-MM-DD 00:00:00 format
    The text msg displays these default dates and allows the user to specift different date range for which i create prompts as shown below.
    2. Using any random two columns of date type from the business model, i create two date dashboard prompts with labels "From Dt" and "To Dt".
    i select Calender Controls for both; setting Default To = Report Defaults.
    The Set Variable is set to Presentation variables - such that pv_from_dt maps to "From Dt" and pv_to_dt maps to "To Dt".
    3. i create the report using the business model created above. In the report "Advanced Tab" => "Prefix" field i specify the following -
    SET VARIABLE from_dt='@{pv_from_dt}',to_dt='@{pv_to_dt}';
    Note : The logic here is to display the default dates and allow user to specify different date values which will be stored in presentation variables.
    If the user does specify different "from dt" and "to dt" values, then using the presentation variables, i want to "write" back these new values to the corresponding session variables mentioned above.
    If the user does not specify different date range, then the default/initialized dates must be considered.
    I also display the default and new date values in the report title.
    Back to Repository level design
    To execute the stored procedure that will load the GTT before running the report I need to pass two date parameters to the stored procedure on basis of which it will fetch data, process and populate the GTT.
    In the Connection Pool --> Connection Script Tab --> Execute before query, I wrote the below query using the repository variables FROM_DT and TO_DT to execute the procedure -
    DECLARE
    v_from_dt date;
    v_to_dt date;
    BEGIN
    v_from_dt := VALUEOF(From_Dt);
    v_to_dt := VALUEOF(To_Dt);
    package_name1.package_body(v_from_dt,v_to_dt);
    END;
    Now when i try to run the report i get the following error :
    [nQSError: 10058] A general error has occurred. [nQSError: 23006] The session variable, NQ_SESSION.to_dt, has no value definition. (HY000)..
    Need help on this.
    Is it possible to "write back" a new value to a session variable ?
    Any other alternatives.
    Thanks
    Nusrat
    Edited by: user10309945 on Jan 24, 2011 10:08 PM

    Sandeep, I found a several topics where users describe saving values in DB through stored procedure or function. For example, [How to store OBIEE presentation level variable values in DB |http://forums.oracle.com/forums/thread.jspa?threadID=892006] I tried it and get an error
    *10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 14551, message: ORA-14551: cannot perform a DML operation inside a query ORA-06512*
    It's not a BI error. This error are generated by Oracle DB. If I write next:
    SELECT MyPLSQLFunction(p1,p2) FROM DUAL
    I get the same error.
    Oracle doesn't allow DML operations in SELECT.
    Did you relalize this feature yourself? Where did I mistake?

  • Javacard and session variables

    Hello,
    I'm trying to find a reasonable Javacard technique to handle "session variables" that must be kept between successive APDUs, but must be re-initialized on each card reset (and/or each time the application is selected); e.g. currently selected file, currently selected record, current session key, has the user PIN been verified...
    Such variables are best held in RAM, since changing permanent (EEPROM or Flash) variables is so slow (and in the long run limiting the operational life of the card).
    Examples in the Java Card Kit 2.2.2 (e.g. JavaPurseCrypto.java) manipulate session variables in the following way:
    1) The programmers group session variables of basic type (Short, Byte, Boolean) according to type, and map each such variable at an explicit index of a vector (one per basic type used as session variable).
    2) At install() time, each such vector, and each vector session variable, is explicitly allocated as a transient object, and this object is stored in a field of the application (in permanent memory), where it remains across resets.
    3) Each use of a session variable of basic type is explicitly translated by the programmer into using the appropriately numbered element of the appropriate vector.
    4) Vector session variables require no further syntactic juggling, but eat up an object descriptor worth of permanent data memory (EEPROM or Flash), and a function call + object affectation worth of applet-storage memory (EEPROM, Flash or ROM).
    The preparatory phase goes:
    public class MyApp extends Applet  {
    // transientShorts array indices
        final static byte       TN_IX = 0;
        final static byte       NEW_BALANCE_IX=(byte)TN_IX+1;
        final static byte      CURRENT_BALANCE_IX=(byte)NEW_BALANCE_IX+1;
        final static byte      AMOUNT_IX=(byte)CURRENT_BALANCE_IX+1;
        final static byte   TRANSACTION_TYPE_IX=(byte)AMOUNT_IX+1;
        final static byte     SELECTED_FILE_IX=(byte)TRANSACTION_TYPE_IX+1;
        final static byte   NUM_TRANSIENT_SHORTS=(byte)SELECTED_FILE_IX+1;
    // transientBools array indices
        final static byte       TRANSACTION_INITIALIZED=0;
        final static byte       UPDATE_INITIALIZED=(byte)TRANSACTION_INITIALIZED+1;
        final static byte   NUM_TRANSIENT_BOOLS=(byte)UPDATE_INITIALIZED+1;
    // remanent variables holding reference for transient variables
        private short[]     transientShorts;
        private boolean[]   transientBools;
        private byte[]      CAD_ID_array;
        private byte[]      byteArray8;  // Signature work array
    // install method
        public static void install( byte[] bArray, short bOffset, byte bLength ) {
             //Create transient objects.
            transientShorts = JCSystem.makeTransientShortArray( NUM_TRANSIENT_SHORTS,
                JCSystem.CLEAR_ON_DESELECT);
            transientBools = JCSystem.makeTransientBooleanArray( NUM_TRANSIENT_BOOLS,
                JCSystem.CLEAR_ON_DESELECT);
            CAD_ID_array = JCSystem.makeTransientByteArray( (short)4,
                JCSystem.CLEAR_ON_DESELECT);
            byteArray8 = JCSystem.makeTransientByteArray( (short)8,
                JCSystem.CLEAR_ON_DESELECT);
    (..)and when it's time for usage, things go:
        if (transientShorts[SELECTED_FILE_IX] == (short)0)
            transientShorts[SELECTED_FILE_IX] == fid;
        transientBools[UPDATE_INITIALIZED] =
            sig.verify(MAC_buffer, (short)0, (short)10,
                byteArray8, START, SIGNATURE_LENGTH);I find this
    a) Verbose and complex.
    b) Error-prone: there is nothing to prevent the accidental use of transientShorts[UPDATE_INITIALIZED].
    c) Wastefull of memory: each use of a basic-type state variable wastes some code; each vector state variable wastes an object-descriptor worth of permanent data memory, and code for its allocation.
    d) Slow at runtime: each use of a "session variable", especially of a basic type, goes thru method invocation(s) which end up painfully slow (at least on some cards), to the point that for repeated uses, one often attain a nice speedup by caching a session variable, and/or transientShorts and the like, into local variables.
    As an aside, I don't get if the true allocation of RAM occurs at install time (implying non-selected applications eat up RAM), or at application selection (implying hidden extra overhead).
    I dream of an equivalent for the C idiom "struct of state variables". Are these issues discussed, in a Sun manual, or elsewhere? Is there a better way?
    Other desperate questions: does a C compiler that output Javacard bytecode make sense/exists? Or a usable Javacard bytecode assembler?
    Francois Grieu

    Interesting post.
    I don't have a solution to your problem, but caching the session variables arrays in local variable arrays is a good start. This should be only done when the applet is in context, e.g. selected or accessed through the shareable interface. This values should be written back to EEPROM at e.g. deselect or some other important point of time. Do you run into problems if a tear happens? I don't think so since the session variables should be transactional, and a defined point will commit a transaction.
    Analyzing the bytecode is a good idea. I know of a view in JCOP Tools (Eclipse plugin) where you can analyze the bytecode and optimize it to your needs.

  • Using Session Variables for User Login - sometimes they don't persist... what am I doing wrong?

    Hi all,
    I'm running a site that requires user login.  I approached the building of this site as almost a complete newb to CF (and dynamic coding in general), and it's been a great learing experience (with lots of help from you guys).
    However, I guess I never learned the correct way to handle a user login.  It seemed to me that I could just test the user-entered credentials against those stored in a database, then set a session variable containg that user's record number.  Then, not only would I have an easy way of knowing who this user was and therefore what info to serve him, but I could test for the existence of a valid login on every page in the protected folder, by adding this code to my application.cfc in that folder:
    <cfset This.Sessionmanagement=true>
    <cfset This.Sessiontimeout="#createtimespan(0,8,0,0)#">
       <cfif NOT isDefined ("session.username") or NOT isDefined ("session.password") or NOT isDefined ("session.storeID")>
         <cflocation url="../index.cfm" addtoken="no">
       </cfif>
    ...and it goes on to run a query and verify that the session.username and session.password match for the store defined by session.storeID.  If not, all session variables are cleared and it bounces you back to the login page.  When the user clicks Logout, all I do is delete all the session variables.
    This seemed to work great for like a year, but lately I've been getting reports that the login doesn't seem to persist for longer than approx. 20 minutes of inactivity.  You can see I specified session variables to remain active for 8 hours (I know that seems like a drastically long login, but it's what's necessary for this application).  I've only gotten this report from a few people, and I myself can't seem to duplicate it... I've tested an inactive login for 45 minutes now and it held.
    SO:  any reason you can think of why session variables would be spontaneously clearing for some people?  Would having your router reset its IP address invalidate the session or something?  Also, the problem seemed to begin appearing after my host upgraded all their servers to CF9... could there be any relation?
    And on a more general note... did I go about this completely the wrong way to begin with?  If so, what's the standard way to manage a login?
    Lots of questions, I know... thanks very much for any answers or suggestions!
    Joe

    Ian,
    Thanks very much - very helpful information.
    Sounds like passing the tokens in every request is probably the way to go for this.  I don't think it's likely that any users will be sharing links, unless they actually intend for the recipient to see their info anyway.
    Is that all I would have to do, is add the tokens to every path?  Would that guarantee that all the session variables would remain valid until timeout or being cleared?
    Again, thanks, you've been really helpful.
    Joe
    On Jun 23, 2010 4:37 PM, Ian Skinner &lt;[email protected]&gt; wrote:
    Unfortunately this is the nature of HTTP web applications.  There is NO state maintained from HTTP request to request.  This is by design in the HTTP protocol specifications.
    ColdFusion provides two methods to circumvent this limitation.  Each method has limitations and caveats.  They both rely on the passing of tokens between the client and the server with every request.  These tokens can be passed as cookies OR URL (GET) variables.  You are using the cookie method, which is the simpler and most common. You may be experiencing the limitation of this method.  If something happens to the cookies the session can be lost.
    You could pass the (CFID &amp; CFTOKEN) OR JESSIONID tokens through the URL query string with every request.  This requires one to add these values to every link, form action, cflocation or other request path in our application.  ColdFusion provides the session.urltoken variable to make this easier to do.  The tokens will be visible to the user.  Also if the links with an individual token is share with other users, via e-mail, chat, social networks, etc and one of these users utilize the link during the life of a session (8 hours apparently in your case).  Then that user will access the session of the original user.
    Cookie session management is by far the most common choice by CF developers.  If these methods do not meet your needs you would need to go beyond the HTTP limitations of web applications.  One might be able to accomplish this with a Flex|Air|Flash applications that can be configured to use a continuous connection to the server.  Thus not suffer the stateless nature of the normal HTTP request-response cycle.
    I do not know if a router resetting would cause cookies to be discarded or otherwise invalidated.  But I would not think it is beyond the relm of possibilities.

  • Session variable causing ADODB.Field error '800a0bcd'

    i have a page that before the session variable was added,
    would display the
    text i required if the recordset was empty.
    Now i have a session variable on the same page and if the
    recordset is
    empty, instead of showing the text i need displayed, i get
    the following
    error:
    ADODB.Field error '800a0bcd'
    Either BOF or EOF is True, or the current record has been
    deleted. Requested
    operation requires a current record.
    /Help_Desk/verified.asp, line 31
    If i remove the session variable code from the page, it works
    fine.....why
    the conflicts?
    <%Session("last")
    =(rsVerify.Fields.Item("c_last_name").Value)%>
    <%Session("first")
    =(rsVerify.Fields.Item("c_first_name").Value)%>
    <html>
    What im doing is verifying if a user exists in the database.
    If they do
    there name is stored in a session and used later on the
    following pages. If
    they do not exist, they are suppose to receive a message
    indicating to call
    our support center to update there name...
    I dont understand why the addition of the above two lines
    cause this error

    Here is all the code on the page... please let me know if
    there is something
    incorrect.....
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!--#include file="../Connections/USD.asp" -->
    <%
    Dim rsVerify__varLname
    rsVerify__varLname = "%"
    If (Request.Querystring("last") <> "") Then
    rsVerify__varLname = Request.Querystring("last")
    End If
    %>
    <%
    Dim rsVerify__varFname
    rsVerify__varFname = "%"
    If (Request.Querystring("first") <> "") Then
    rsVerify__varFname = Request.Querystring("first")
    End If
    %>
    <%
    Dim rsVerify
    Dim rsVerify_numRows
    Set rsVerify = Server.CreateObject("ADODB.Recordset")
    rsVerify.ActiveConnection = MM_USD_STRING
    rsVerify.Source = "SELECT c_last_name, c_first_name,
    c_middle_name,
    c_email_addr FROM AHD.ctct WHERE c_last_name = '" +
    Replace(rsVerify__varLname, "'", "''") + "' and c_first_name
    = '" +
    Replace(rsVerify__varFname, "'", "''") + "' and del = '0'"
    rsVerify.CursorType = 0
    rsVerify.CursorLocation = 2
    rsVerify.LockType = 1
    rsVerify.Open()
    rsVerify_numRows = 0
    %>
    <%Session("last")
    =(rsVerify.Fields.Item("c_last_name").Value)%>
    <%Session("first")
    =(rsVerify.Fields.Item("c_first_name").Value)%>
    <html>
    <head>
    <title>Account Verification</title>
    </head>
    <body text="#000000" link="#0000FF" vlink="#0000FF"
    alink="#0000FF"
    leftmargin="0" topmargin="0">
    <!--#include virtual="/inc/header.asp" -->
    <br>
    <br>
    <% If Not rsVerify.EOF Or Not rsVerify.BOF Then %>
    <table width="605" align="center">
    <tr bgcolor="#9999FF">
    <td><strong>USD Name:</strong></td>
    <td><strong><%=(rsVerify.Fields.Item("c_last_name").Value)%>,
    <%=(rsVerify.Fields.Item("c_first_name").Value)%></strong></td>
    </tr>
    <tr>
    <td><strong>First
    Name:</strong></td>
    <td><strong><font
    color="#FF0000"><%=(rsVerify.Fields.Item("c_first_name").Value)%></font></strong></td>
    </tr>
    <tr>
    <td><strong>Last Name:</strong></td>
    <td><strong><font
    color="#FF0000"><%=(rsVerify.Fields.Item("c_last_name").Value)%></font></strong></td>
    </tr>
    <tr>
    <td><strong>Email:</strong></td>
    <td><strong><font
    color="#FF0000"><%=(rsVerify.Fields.Item("c_email_addr").Value)%></font></strong></td>
    </tr>
    <tr>
    <td><strong>Location:</strong></td>
    <td><strong><font
    color="#FF0000"><%=(rsVerify.Fields.Item("c_middle_name").Value)%></font></strong></td>
    </tr>
    <tr>
    <td colspan="2"><div
    align="center"><strong>If all 4 fields above
    contain
    your correct information please select from the links
    below.<br>
    If your are missing any information above please contact the
    help
    desk
    before proceeding.</strong> </div></td>
    </tr>
    <tr>
    <td colspan="2"><hr size="1"> <table
    width="400" align="center">
    <tr>
    <td><div align="center"><strong><a
    href="/Help_Desk/usd_stores1.asp">Open
    Store / DC
    Request</a></strong></div></td>
    <td><div align="center"><strong><a
    href="/Help_Desk/usd_corp1.asp">Open
    Corporate
    Request</a></strong></div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    <% End If ' end Not rsVerify.EOF Or NOT rsVerify.BOF %>
    <br>
    <div align="center">
    <% If rsVerify.EOF And rsVerify.BOF Then %>
    <table width="605">
    <tr>
    <td><div align="center"><font
    color="#FF0000"><strong>If you are
    receiving
    this message, chances are you are not completely setup in
    USD.<br>
    Please contact the help desk to have your information
    verified and
    setup
    if needed.</strong></font>
    </div></td>
    </tr>
    </table>
    <% End If ' end rsVerify.EOF And rsVerify.BOF %>
    </div>
    <div align="center"></div>
    <!--#include virtual="/inc/footer.asp" -->
    </body>
    </html>
    <%
    rsVerify.Close()
    Set rsVerify = Nothing
    %>
    "Daniel" <[email protected]> wrote in message
    news:[email protected]...
    >i have a page that before the session variable was added,
    would display the
    >text i required if the recordset was empty.
    >
    > Now i have a session variable on the same page and if
    the recordset is
    > empty, instead of showing the text i need displayed, i
    get the following
    > error:
    >
    > --------------------------
    > ADODB.Field error '800a0bcd'
    > Either BOF or EOF is True, or the current record has
    been deleted.
    > Requested operation requires a current record.
    >
    > /Help_Desk/verified.asp, line 31
    > -----------------------------
    >
    > If i remove the session variable code from the page, it
    works fine.....why
    > the conflicts?
    >
    > <%Session("last")
    =(rsVerify.Fields.Item("c_last_name").Value)%>
    > <%Session("first")
    =(rsVerify.Fields.Item("c_first_name").Value)%>
    > <html>
    >
    > --------------
    >
    > What im doing is verifying if a user exists in the
    database. If they do
    > there name is stored in a session and used later on the
    following pages.
    > If they do not exist, they are suppose to receive a
    message indicating to
    > call our support center to update there name...
    >
    > I dont understand why the addition of the above two
    lines cause this error
    >
    >

  • How to pass session variable value with GO URL to override session value

    Hi Gurus,
    We have below requirement.Please help us at the earliest.
    How to pass session variable value with GO URL to override session value. ( It is not working after making changes to authentication xml file session init block creation as explained by oracle (Bug No14372679 : which they claim it is fixed in 1.7 version  Ref No :Bug 14372679 : REQUEST VARIABLE NOT OVERRIDING SESSION VARIABLE RUNNING THRU A GO URL )
    Please provide step by step solution.No vague answers.
    I followed below steps mentioned.
    RPD:
    ****-> Created a session variable called STATUS
    -> Create Session Init block called Init_Status with SQL
        select 'ACTIVE' from dual;
    -> Assigned the session variable STATUS to Init block Init_Status
    authenticationschemas.xml:
    Added
    <RequestVariable source="url" type="informational"
    nameInSource="RE_CODE" biVariableName="NQ_SESSION.STATUS"/>
    Report
    Edit column "Contract Status" and added session variable as
    VALUEOF(NQ_SESSION.STATUS)
    URL:
    http://localhost:9704/analytics/saw.dll?PortalGo&Action=prompt&path=%2Fshared%2FQAV%2FTest_Report_By%20Contract%20Status&RE_CODE='EXPIRED'
    Issue:
    When  I run the URL above with parameter EXPIRED, the report still shows for  ACTIVE only. The URL is not making any difference with report.
    Report is picking the default value from RPD session variable init query.
    could you please let me know if I am missing something.

    Hi,
    Check those links might help you.
    Integrating Oracle OBIEE Content using GO URL
    How to set session variables using url variables | OBIEE Blog
    OBIEE 10G - How to set a request/session variable using the Saw Url (Go/Dashboard) | GerardNico.com (BI, OBIEE, O…
    Thanks,
    Satya

  • How to default bind variable using session variable at run time

    Hi All,
    I have a requirement where all VO queries (multiple VOs) produce only records that meet a certain value.
    For example, I have three tables with 3 VOs and each of them has a one-to-many relationship to another table (let's call it ref table and this table has a field called release). One of the 3 VOs is a parent/master table, and the other two are child tables. I created a VO for master table that linked to the ref table and created a view criteria using the release (use bind variable) field from the ref table. The other child tables have their own VO that has view criteria that also linked to ref table using the release field.
    On the UI page, I created a query component and a table from the master table VO. I also dropped the child table VOs in a tabbed panel which partial triggered by the master table. When I ran a query for a 'release' (hint: ref table value), the table for master table was filled the correct records that meet the criteria. Unfortunately, the child tables were not correct due to the query didn't use the bind variable that filter only records for the same 'release' value as the master table.
    The question is how do I 'default' or dynamically set the bind variable on the child tables based on the selection criteria from the query component. I am thinking to set a session variable from the query and use it in the bind variable in the child table, but not sure how to do it.
    Any suggestion how to do it or better solution to achieve the same effect?

    Hi,
    How about creating a custom AMImpl method, that takes parameters as required, and set the bind variables for all the desired VOs and perform executeQuery on them.
    You could expose this as client interface, and then use the method as parameter form.
    Check this thread for ex.
    Re: Setting Attribute in View Object through Managed Bean
    -Arun

  • Issue with session variable

    Hi,
    I'm trying to setup a session variable to filter an Answer query based on the user login name. I've created the following
    - A database table that contains a user name and its related filter (Entity)
    - An initialization block for the session variable to issue the following sql: select Entity from table where user_name = ':USER'
    - Created a target session variable called CURR_ENTITY as the target and assign a default value as 'No entity'.
    - Filter my Answer query to use the session variable CURR_ENTITY
    After restart of BI server and Presentation services and opening the report, CURR_ENTITY is always set to the default value. I've checked NQQuery,.log and looks like the initialization block was not returning any rows.
    Any ideas on how to get around this issue? Thanks.
    Regards,
    Gerd

    Hi gerd,
    select Entity from table where user_name = ':USER'Check if this query is returning values in the backend DB.If so it is returning then it should work fine in session variable.
    After defining the target variable CURR_ENTITY and test it in the screen.That shows you is it picking all the values or a single defaulted value.
    If its showing all values then re-check your block once again.
    (OR)
    In the target variable instead of variable define row-wise initialization (i mean check it) and change the SQL in the variable to this
    select 'CURR_ENTITY',Entity from table where user_name = ':USER'
    and test it so you can use it in answers .....it should work with what is required.
    hope answered the question.
    Cheers,
    KK

  • Row level security with session variables, not a best practice?

    Hello,
    We are about to implement row level security in our BI project using OBIEE, and the solution we found most convenient for our requirement was to use session variables with initalization blocks.
    The problem is that this method is listed as a "non best practice" in the Oracle documentation.
    Alternative Security Administration Options - 11g Release 1 (11.1.1)
    (This appendix describes alternative security administration options included for backward compatibility with upgraded systems and are not considered a best practice.)
    Managing Session Variables
    System session variables obtain their values from initialization blocks and are used to authenticate Oracle Business Intelligence users against external sources such as LDAP servers or database tables. Every active BI Server session generates session variables and initializes them. Each session variable instance can be initialized to a different value. For more information about how session variable and initialization blocks are used by Oracle Business Intelligence, see "Using Variables in the Oracle BI Repository" in Oracle Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.
    How confusing... what is the best practice then?
    Thank you for your help.
    Joao Moreira

    authenticating / authorizing part is take care by weblogic and then USER variable initialized and you may use it for any initblocks for security.
    Init block for authenticating / authorizing and session variables are different, i guess you are mixing both.

  • Use session variable in Insert record

    Help, please!
    I need to add a record to a table; one of the fields in the
    table is the user_id. When I try to use the insert record server
    behavior, there is no way to select the user_id session variable!
    How is this done?

    .oO(Ted Dawson)
    >>>> to select the user_id session variable! How
    is this done?
    >>>
    >>>Use a hidden variable in the form, and assign it
    the value of the session.
    >>
    >> And what if the user manipulates that value? Hidden
    form fields _always_
    >> require a validation on the server. One purpose of a
    session is to avoid
    >> that sensitive data is sent to the client, where it
    can be manipulated.
    >
    >
    >Exactly how is the value of a SESSION VARIABLE
    manipulated by the client?
    It can be manipulated if it's put into a hidden form field.
    Micha

  • Clearing custom session variable in 5.0

    I have set a custom session variable in a method called in the OnAfterLogin PEI.
    Do I need to ckear this session variable on logout? If so, how do I do that?
    Or does the session variable clear on its own if teh session is abandoned or killed on logout?
    I just want to make sure I am not leaking any memory and do proper housekeeping.
    Thanks!
    Vanita
    Staples

    Sam,
    It appears that you are one of the few installations that actually used a display/formatting page under 4.x. Under 5.0 you have the option of going directly to the source of the card or gatewaying the card. Those are your only two options to my knowledge. I suppose that the answer might rest on using docfetch but this would require a custom CWS.
    Good Luck
    Phil Orion

  • Using row-wise multi-value GROUP system session variable in report filter

    The title says it all except I am using 10g OBIEE.
    What I want to do is filter on the dynamic system session variable GROUP created in a row-wise initialization block.
    The GROUP vriable is being set up correctly and it shows the user dynamically put into the correct groups in Answers.
    (Using the admin tool and looking at the user session, only the initial authentication block variables show up.)
    But if I want to filter using the value of GROUP it doesn't work.
    The obvious way is to choose the filter icon, then choose Add -> Variable -> Session, enter GROUP, and then display results.
    It comes back with no rows.
    Any idea how to do this? I've tried lots of things but none of them work either producing no rows or an error.
    This is the kind of Answers SQL this report is resulting in, which makes sense to me, but produces no rows.
    SELECT "Package Virtual Group (Dim)"."Package Virtual Group" saw_0, "Contact (Fact)"."Contacts All Count" saw_1 FROM "Case/Transaction/ABC" WHERE "Package Virtual Group (Dim)"."Package Virtual Group" = VALUEOF(NQ_SESSION."GROUP") ORDER BY saw_0

    866038 wrote:
    Errors come from trying things that don't work.
    For example, instead of =, using IN VALUEOF(NQ_SESSION.GROUP) or @{session.GROUP} or lots of other things.
    The question is this:
    how can I filter a column in Answers using the GROUP session variable which had been initialized in a row-wise initialization block?
    I can find no way to do it. Mostly it returns no rows.Hi,
    we had a similar requirement, where we have an external name that has project number values. We used row wise initialization to capture all the projects that a user belongs to. Then, we applied the filters at the RPD level, instead of doing it at the report level. From you requirement I see that you are trying to filter the groups based on user login. When a user logs in, he will see the information about the groups that he only belongs to. Correct me if I am wrong here.
    Assuming I am right about your requirement, providing the filter that you need apply in RPD.
    On all the fact tables are joined to the Package Virtual Group dimension, apply the below filter.
    case when 1=1 then (Dim)"."Package Virtual Group" END = VALUEOF(NQ_SESSION."GROUP");
    The reason for use of case statement here is, it converts the logical sql to IN Clause, helping us acheive the exact query that we would want.
    Please Award points if this helps.
    Thanks,
    -Amith.

  • Help with session variable please - CS5.5 PHP

    Hi all,
    I am needing a little assistance with using a session variable and hope that someone may point me in the right direction.
    I have created a PHP page that uses the Dreamweaver 'User Authentication' feature, and the basics of this works fine, directing a user to the correct pages depending on whether they are or are not a valid user. I would like however to personalise the 'valid user' page with the persons Username as entered in the User Authentication table....a seemingly simple task using a session variable, but one that I just don't seem to be able to get working!
    The code generated for the UA on page 1 is as follows:
    <?php
    // *** Validate request to login to this site.
    if (!isset($_SESSION)) {
      session_start();
    $loginFormAction = $_SERVER['PHP_SELF'];
    if (isset($_GET['accesscheck'])) {
      $_SESSION['PrevUrl'] = $_GET['accesscheck'];
    if (isset($_POST['txtfirst_name'])) {
      $loginUsername=$_POST['txtfirst_name'];
      $password=$_POST['txtsurname'];
      $MM_fldUserAuthorization = "";
      $MM_redirectLoginSuccess = "member_update.php";
      $MM_redirectLoginFailed = "login.php";
      $MM_redirecttoReferrer = false;
      mysql_select_db($database_panto, $panto);
      $LoginRS__query=sprintf("SELECT firstname, surname FROM web_access WHERE firstname=%s AND surname=%s",
        GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
      $LoginRS = mysql_query($LoginRS__query, $panto) or die(mysql_error());
      $loginFoundUser = mysql_num_rows($LoginRS);
      if ($loginFoundUser) {
         $loginStrGroup = "";
        if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
        //declare two session variables and assign them
       $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;         
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
        header("Location: " . $MM_redirectLoginSuccess );
      else {
        header("Location: ". $MM_redirectLoginFailed );
    ?>
    Firstly, the text highlighted in red above appears to be setting the session variable that I require. Is This correct?
    If so, what is the code that I need to place in page 2 to use that session variable? or
    Do I need to do something else on page 1 to properly assign the session variable?
    Would really appreciate your expertise
    Mark

    It looks as though you've set the columns incorrectly in the User Authentication server behavior. This is the SQL query that checks the user's credentials:
      $LoginRS__query=sprintf("SELECT firstname, surname FROM web_access WHERE firstname=%s AND surname=%s",
        GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
    You're looking for firstname and surname, whereas you should be looking for the user's login name and password.
    $_SESSION['MM_Username'] is a session variable that stores the user's login name. To use it in a subsequent page, all that's needed is for the page to begin with session_start(). You can then echo the value to display it.
    If you want to display the person's real name, you need to create a recordset in the second page using $_SESSION['MM_Username'] to find the firstname and surname. Alternatively, you can edit the existing code like this (I've copied only part of it):
      $LoginRS__query=sprintf("SELECT firstname, surname FROM web_access WHERE firstname=%s AND password=%s",
        GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
      $LoginRS = mysql_query($LoginRS__query, $panto) or die(mysql_error());
      $loginFoundUser = mysql_num_rows($LoginRS);
      if ($loginFoundUser) {
         $loginStrGroup = "";
        $row = mysql_fetch_assoc($LoginRS);
         $_SESSION['full_name'] = $row['firstname'] . ' ' . $row['surname'];
        if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
        //declare two session variables and assign them
       $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;
    You can then use $_SESSION['full_name'] in a subsequent page that begins with session_start().

  • Get loggedin Session variables in Home Page

    I got a members directory where u login.
    1.How come they get killed when i refresh a page.
    2.How do i get the loggedin session variable the home page.
    so i know if current user is logged in.
    The Application.cfc of the members is
    <cfcomponent name="Application" displayname="Application
    Component for the Login Security Tutorial" >
    <cfset This.name = "NewLoveZoneAfrica">
    <cfset This.applicationTimeout =
    CreateTimeSpan(0,0,0,45)>
    <cfset This.sessionManagement = "true">
    <cfset This.sessionTimeout = CreateTimeSpan(0,0,0,30)>
    <cfset This.clientManagement = "false">
    <cfset This.loginstorage="session">
    <cffunction name="onApplicationStart"
    returntype="boolean" output="true">
    <!--- Set up Application variables. Locking the
    Application scope is not necessary in this method. --->
    application starting
    <cfset Application.configured = 1>
    <cfset Application.datetimeConfigured = TimeFormat(Now(),
    "hh:mm tt") & " " & DateFormat(Now(), "mm.dd.yyyy")>
    <cfset Application.currentSessions = 0>
    <!--- Begin Setting up request variables here. --->
    <cfscript>
    request.app = structNew();
    Application.dsn = "LoveZoneAfrica";
    Application.webRoot =
    "#getPageContext().getRequest().getContextPath()#/NewLoveZoneAfrica/";
    Application.machineRoot = "/NewLoveZoneAfrica/";
    Application.cfcRoot = "NewLoveZoneAfrica.com";
    Application.Domain = "NewLoveZoneAfrica.com";
    factory=CreateObject("java","coldfusion.server.ServiceFactory");
    sqlService = factory.getDataSourceService();
    dsn = duplicate(sqlService.datasources[Application.dsn]);
    if(dsn.driver eq "MSAccess" or dsn.driver eq "MSAccessJet"
    or dsn.driver eq "ODBCSocket")
    request.app.ucase = "ucase";
    request.app.isAccess = true;
    else
    request.app.ucase = "ucase";
    request.app.isAccess = false;
    </cfscript>
    <!--- End Setting up request variables here. --->
    <cfreturn true>
    </cffunction>
    <cffunction name="onRequestStart" returntype="boolean"
    output="true" >
    <cfargument name="requestname" required=true/>
    <cfif isDefined("form.j_username") and
    isDefined("form.j_password")>
    <!--- If either password or Username is empty go to
    login--->
    <cfif form.j_username is "" or form.j_password is "">
    <cfinclude
    template="#Application.webRoot#Login/Security/Login.cfm">
    <cfabort>
    </cfif>
    <!--- First Check to see wether there is need to log out
    user--->
    <cfscript>
    // create the Security object
    Security =
    createObject("component","#Application.cfcRoot#.security");
    // store authenticate method of security object as roles
    variable.
    LogQry=Security.authenticate(form.j_username,form.j_password);
    </cfscript>
    <cfif LogQry.recordcount> <!--- User has
    Successfully logged in #GetValidUser# --->
    <cfloginuser name="#form.j_username#"
    password="#form.j_password#" roles="#valuelist(LogQry.Role)#">
    <!--- Update the LastLogin timestamp. --->
    <cfscript>Update_LastLogin=Security.LastLogin(form.j_username);
    </cfscript>
    <cfset request.User.LoggedIn = "1">
    <cfset request.User.Username = form.j_username>
    <cfset request.User.LastLogin = LogQry.LastLogin_Date
    >
    <cfelse>
    <!---Destroy request --->
    <cflock scope="SESSION" throwontimeout="Yes" timeout="7"
    type="EXCLUSIVE">
    <cfset clearStruct = StructDelete(request, "User")>
    </cflock>
    <!---Destroy request --->
    <cflock scope="SESSION" throwontimeout="Yes" timeout="7"
    type="EXCLUSIVE">
    <cfset clearStruct = StructDelete(SESSION, "User")>
    </cflock>
    </cfif>
    <cfif NOT isDefined("request.User.LoggedIn")>
    <cfset request.loginMessage ="Your Login Username or
    Password is Invalid ">
    <cfinclude
    template="#Application.webRoot#Login/Security/Login.cfm">
    <cfabort>
    <cfelse>
    <!--- If the login procedure is passed duplicate the
    request structure into the Session scope. --->
    <cflock scope="SESSION" throwontimeout="Yes"
    timeout="107" type="EXCLUSIVE">
    <cfset Session.User = Duplicate(request.User)>
    </cflock>
    <cflock name="lck_currentSessions" throwontimeout="Yes"
    timeout="107" type="EXCLUSIVE">
    <!---THIS has BE CHANgED : bEGIN- original COPY IS @ THE
    FOOT --->
    <!--- Copy identifying session information into the
    Application scope. --->
    <cfif NOT isDefined("Application.sessionData")>
    <!--- Increment the number of current sessions. --->
    <cfset Application.currentSessions =
    Application.currentSessions + 1>
    <cfset Application.sessionData = ArrayNew(1)>
    <cfset Arraysize = 0>
    <cfset Application.sessionData[Arraysize+1] =
    form.j_username>
    <CFELSE>
    <!---check to see wether this "Username" appears in the
    Application.sessionData.
    If so, ignore. If no then append the name to the array so we
    have a unique list of usernames--->
    <cfset Arraysize = ArrayLen(Application.sessionData)>
    <cfset Application.temp = ArrayNew(1)>
    <cfif Arraysize>
    <cfloop index = "LoopCount" from = "1" to =
    "#Arraysize#">
    <cfset #ArrayAppend(Application.temp,
    Application.sessionData[LoopCount])#>
    </cfloop>
    <cfdump var="#Application.sessionData#" >
    <cfset Isloggedin =
    ListFind(ArrayToList(Application.temp), form.j_username)>
    <cfif Isloggedin is 0>
    <cfset Application.sessionData[Arraysize+1] =
    form.j_username>
    <!--- Increment the number of current sessions. --->
    <cfset Application.currentSessions =
    Application.currentSessions + 1>
    </cfif>
    <cfelse>
    <!--- Increment the number of current sessions since twas
    empty. --->
    <cfset Application.currentSessions =
    Application.currentSessions + 1>
    <cfset Application.sessionData[Arraysize+1] =
    form.j_username>
    </cfif>
    </cfif>
    </cflock>
    </cfif>
    <cfelse>
    <cfif not ListLast(CGI.SCRIPT_NAME, "/") EQ
    "logout.cfm">
    <!---Check wether the username appears on the list
    Application.currentSessions is 0 --->
    <cfif NOT isDefined("Session.User.LoggedIn") >
    <cfinclude
    template="#Application.webRoot#Login/Security/login.cfm">
    <cfabort>
    </cfif>
    </cfif>
    </cfif>
    <!--- Check to see if a user is logged in on *every* cfm
    page request. --->
    <cfif not ListLast(CGI.SCRIPT_NAME, "/") EQ
    "logout.cfm">
    <cflock scope="SESSION" throwontimeout="Yes" timeout="7"
    type="READONLY">
    <cfif NOT isDefined("Session.User.LoggedIn")>
    <cfinclude
    template="#Application.webRoot#Login/Security/login.cfm">
    <cfabort>
    </cfif>
    </cflock>
    </cfif>
    <cfreturn true>
    </cffunction>
    <cffunction name="onSessionEnd" returntype="void">
    <cfargument name="SessionScope" required="true">
    <cfargument name="ApplicationScope" required="true">
    <cfset request.loginMessage="Nimeingia onSessionEnd">
    <cflock name="lck_currentSessions" throwontimeout="Yes"
    timeout="7" type="EXCLUSIVE">
    <cfset sessionPosition =
    ListFind(ArrayToList(arguments.ApplicationScope.sessionData),
    arguments.SessionScope.sessionid)>
    <cfif sessionPosition neq 0>
    <cfset
    ArrayDeleteAt(arguments.ApplicationScope.sessionData,
    sessionPosition)>
    <cfset arguments.ApplicationScope.currentSessions =
    arguments.ApplicationScope.currentSessions - 1>
    </cfif>
    </cflock>
    </cffunction>
    <cffunction name="onSessionStart" returntype="void">
    <cfset request.loginMessage="Nimeingia onSessionEnd">
    </cffunction>
    <cffunction name="onRequestEnd" returntype="void">
    <!--- Write any code that needs to run when the page
    request ends. This replaces onRequestEnd.cfm --->
    </cffunction>
    </cfcomponent>

    Answered my own quests
    http://www.rewindlife.com/archives/000046.cfm

Maybe you are looking for