the current user of the session & current schema

Hi all


ACC to a url
"
o CURRENT_USER: the name of the user whose privilege the session is running
in the framework.

o SESSION_USER: the name of the user who originally created this session? who is online
in. It is constant for a session.

o CURRENT_SCHEMA: the name of the default schema that will be used to resolve references
for objects not qualified.
"

Session user is clearly making the distinction. My question is that is there any situation when the CURRENT_USER and CURRENT_SCHEMA is different? My understanding is that when we have a program of sup with authid define, then the user of the session I (if another user not the define called)
is different and the current_schema is different. The current_schema is definers schema while the user of the session is the Summoner of the program overtime. I guess that this is a good understanding.


Is EQUIVALENT to current_user, current_schema? If this is not the case, if someone can cite a small program to show the difference?

As others have said, current_schema contols which schema for unqualified names are resolved in. It can be changed using:

alter session set current_schema = 

or in a stored procedure liike authid clause:

SQL> Create Procedure test_definer as
  2     l_user           VARCHAR2(30);
  3     l_current_user   VARCHAR2(30);
  4     l_session_user   VARCHAR2(30);
  5     l_current_schema VARCHAR2(30);
  6  begin
  7     select user into l_user from dual;
  8
  9     select Sys_Context('USERENV', 'CURRENT_USER')
 10     into l_current_user
 11     from dual;
 12
 13     select Sys_Context('USERENV', 'SESSION_USER')
 14     into l_session_user
 15     from dual;
 16
 17     select Sys_Context('USERENV', 'CURRENT_SCHEMA')
 18     into l_current_schema
 19     from dual;
 20
 21     Dbms_Output.Put_Line ('User is: '||l_user);
 22     Dbms_Output.Put_Line ('Current User is: '||l_current_user);
 23     Dbms_Output.Put_Line ('Session User is: '||l_session_user);
 24     Dbms_Output.Put_Line ('Current_schema is: '||l_current_schema);
 25  end;
 26  /

Procedure created.

SQL> Create Procedure test_current
  2     authid Current_user as
  3     l_user           VARCHAR2(30);
  4     l_current_user   VARCHAR2(30);
  5     l_session_user   VARCHAR2(30);
  6     l_current_schema VARCHAR2(30);
  7  begin
  8     select user into l_user from dual;
  9
 10     select Sys_Context('USERENV', 'CURRENT_USER')
 11     into l_current_user
 12     from dual;
 13
 14     select Sys_Context('USERENV', 'SESSION_USER')
 15     into l_session_user
 16     from dual;
 17
 18     select Sys_Context('USERENV', 'CURRENT_SCHEMA')
 19     into l_current_schema
 20     from dual;
 21
 22     Dbms_Output.Put_Line ('User is: '||l_user);
 23     Dbms_Output.Put_Line ('Current User is: '||l_current_user);
 24     Dbms_Output.Put_Line ('Session User is: '||l_session_user);
 25     Dbms_Output.Put_Line ('Current_schema is: '||l_current_schema);
 26  end;
 27  /

Procedure created.

Copyright being the default, test_definer procedure works with the privileges and in the schema of the user Thatcreated in this oracle of $ case ops. The test_current procedure operates in the schema of the user calling him and privileges. So if we call both in the scheme of the owner that they are actually the same:

SQL> exec test_definer;
User is: OPS$ORACLE
Current User is: OPS$ORACLE
Session User is: OPS$ORACLE
Current_schema is: OPS$ORACLE

PL/SQL procedure successfully completed.

SQL> exec test_current;
User is: OPS$ORACLE
Current User is: OPS$ORACLE
Session User is: OPS$ORACLE
Current_schema is: OPS$ORACLE

PL/SQL procedure successfully completed.

However, if we create a new user and give that run them both, we'll see a feel:

SQL> create user a identified by a;

User created.

SQL> grant create session to a;

Grant succeeded.

SQL> grant execute on test_definer to a;

Grant succeeded.

SQL> grant execute on test_current to a;

Grant succeeded.

SQL> connect a/a
Connected.
SQL> exec ops$oracle.test_definer;
User is: A
Current User is: OPS$ORACLE
Session User is: A
Current_schema is: OPS$ORACLE

PL/SQL procedure successfully completed.

SQL> exec ops$oracle.test_current;
User is: A
Current User is: A
Session User is: A
Current_schema is: A

PL/SQL procedure successfully completed.

John

Tags: Database

Similar Questions

  • The definition of current schema for DDL [sys] operation. -Why?

    Hi all

    I'm in the middle of a migration online for an SAP system, and I am confronted again to problems, which I can't find an explanation to.

    Within SAP, it is often the table as select 'create' used. When replicating the mapping for the base object (create table) is done perfectly, but there is no mapping for the derived object. Here is an excerpt from a replicate log file:


    2012-02-23 11:48:19 INFO OGG-00487 operation included DDL [INCLUDE MAPS], [CREATE] optype, objtype [TABLE], [SAPSCM] objowner
    objname [ORA_COCKPIT_HELP20120222072705].

    2012-02-23 11:48:19 current schema INFO OGG-01407 setting for [sys] DDL operation.

    2012-02-23 11:48:19 operation INFO OGG - 00484 DDL execution.

    Context of the source:
    SourceModule: [ggapp.ddl]
    SourceID: [scratch/aime1/adestore/views/aime1_staoi06/oggcore/OpenSys/src/gglib/ggapp/ddlrep.c]
    SourceFunction: [DDLREP_handleDDLError]
    SourceLine: [500]

    2012-02-23 11:48:19 ERROR OGG-00519 fatal execution of DDL replication error: error [[942] error code, ORA-00942: table or view doe]
    s does not exist, SQL create global temporary table 'SAPSCM '. "' ORA_COCKPIT_HELP20120222072705 ' a

    What I don't understand, why OGG is affecting the current SYS schema? Which leads to this operation and SYS whence?

    OGG is executed as source and target SYSTEM, the customer did not create a specific user to OGG. But we are facing the same problems, even if we use a user OGG.

    If we find situations like this:
    create the table SAPSCM.XXX select * from YYY
    We can work around this failure by:

    create public synonym for SAPSCM YYY. YYY;

    and we're going to restart the replicate.

    But this time I am not able to understand, that one or more tables are intended, because the SQL is much more complex. It is so long, that the complete SQL statement is not given in the log file.

    The full excerpt from the journal of my current problem:

    2012-02-23 11:48:19 INFO OGG-00489 DOF is mapped extent, after the new mapping operation [create a global temporary table 'SAPSCM'.
    "ORA_COCKPIT_HELP20120222072705" in select * from (SELECT NULL, NULL week, day Date_Time NULL, NULL date_, time NULL, N)
    ULL time event, NULL, NULL, waited_seconds, NULL, NULL, waited_hours, NULL, NULL active_sessions waited_minutes wait, N
    ULL avg_ms, INST_ID select NULL, NULL object_names OF DOUBLE WHERE 1 = 0 UNION ALL (SELECT NULL Date_Time, week day of NULL NULL,)
    Date_ NULL, NULL, hour wait event, NULL, NULL, NULL, NULL, waited_seconds, NULL, NULL waited_hour waited_minutes
    s, active_sessions, NULL, NULL, avg_ms, INST_ID select NULL NULL object_names OF DOUBLE 1 WHERE = 0) UNION ALL (SELECT * FROM (WI)
    TH BASIS_INFO AS (SELECT DECODE (DBID,-1, OWN_DBID, DBID) DBID, DECODE (INSTANCE_NUMBER,-1, USERENV ('INSTANCE'), INSTANCE_)
    NUMBER) INSTANCE_NUMBER, BEGIN_DATE, end_date, TO_TIMESTAMP (TO_CHAR (BEGIN_DATE, 'dd.mm.yyyy hh24:mi:ss'), ' dd.mm.y)
    YYY hh24:mi:ss) BEGIN_TIME, END_TIME TO_TIMESTAMP (TO_CHAR (end_date, 'dd.mm.yyyy hh24:mi:ss'), 'dd.mm.yyyy hh24:mi:ss'),
    RTT_MICRO, MIN_AVG_DIRECT_PATH_TIME_MS, DECODE (AGGREGATE_BY, 'SNAPSHOT', 'YYYY-MM-DD HH24:MI:SS', 'DAY')
    'YYYY-MM-DD (DY)","HOUR_OF_DAY', 'HH24', AGGREGATE_BY) AGGREGATE_BY, CONSIDER_TIMEOUTS, EXCLUDE_WEEKEND
    EXCLUDE_SYSTEM, EXCLUDE_ADMINISTRATIVE, MIN_TIME_WAITED_S, min_object_percentage/100 min_object_percentage, S, m
    in_event_percentage (to_number (nvl('','-1')) SELECT DBID, to_number (nvl('','-2')) INSTANCE_NUMBER,
    To_date (rpad (nvl (", ' 1980-01-01 00:00:00 '), 19,': 00'),"YYYY-MM-DD HH24:MI:SS") BEGIN_DATE, TO_DATE (rpad (nvl('',)
    -12-31 00:00:00 '), 19,': 00'), 'YYYY-MM-DD HH24:MI:SS') end_date, to_number (nvl('','300')) RTT_MICRO, t
    o_number (NVL('','1')) MIN_AVG_DIRECT_PATH_TIME_MS, decode (superior (substr (", 1, 1)), ',' ', '',' ', 'X') CONSIDER_TIMEOUTS, (if)
    "(Ze 19339)]."

    2012-02-23 11:48:19 INFO OGG-00487 operation included DDL [INCLUDE MAPS], [CREATE] optype, objtype [TABLE], [SAPSCM] objowner
    objname [ORA_COCKPIT_HELP20120222072705].

    2012-02-23 11:48:19 current schema INFO OGG-01407 setting for [sys] DDL operation.

    2012-02-23 11:48:19 operation INFO OGG - 00484 DDL execution.

    Context of the source:
    SourceModule: [ggapp.ddl]
    SourceID: [scratch/aime1/adestore/views/aime1_staoi06/oggcore/OpenSys/src/gglib/ggapp/ddlrep.c]
    SourceFunction: [DDLREP_handleDDLError]
    SourceLine: [500]

    2012-02-23 11:48:19 ERROR OGG-00519 fatal execution of DDL replication error: error [[942] error code, ORA-00942: table or view doe]
    s does not exist, SQL create global temporary table 'SAPSCM '. "' ORA_COCKPIT_HELP20120222072705 ' in select * from (SELECT NULL Date_Time,
    [Week NULL, date NULL, NULL date_, time NULL, time NULL, NULL event, NULL], no error handler presents.


    Does anyone have an explanation why OGG is move to the schema SYS instead of SAPSCM? Is there something in the Setup on extract or replicate, which can have any influence on that?

    Thanks a lot so far.
    Elmar

    Hi Elmar.

    In fact, this could be the bug 13606425, which should be fixed in 11.1.1.1.3. Maybe it's only HPUX - not sure that your version of the OS (or version of DB, which are always useful pieces on info).

    If this is the case, then there was a problem affecting the user schema. Why would it OGG set the schema? Because the request was a bit sloppy and did not specify. This would imply that the application creates objects in the SYS schema, which does not resemble something SAP would do. If I'm wrong in part or completely here. You must open a ticket with support for a generation with 13606425 bug fix and see if this still happens.

    Good luck
    -joe

  • Access DB & insert long distance column in a table in the current schema

    I have a new requirement as:
    I have to create a table in my current schema, selection of data in a table in different schema using the database link and the table contains a column LONG.
    I wrote code like:

    CREATE TABLE tmp as
    SELECT a.index_name, a.index_type, a.uniqueness and a.table_name,
    b.column_name, c.column_expression, b.column_position
    User_indexes@FRISKDEVI41B_ORCL a.,
    b user_ind_columns@FRISKDEVI41B_ORCL,
    c user_ind_expressions@FRISKDEVI41B_ORCL
    WHERE b.index_name = a.index_name
    AND a.table_name = b.table_name
    AND b.index_name = c.index_name (+)
    AND c.table_name (+) = b.table_name
    AND b.column_position = c.column_position (+)
    ORDER BY a.table_name;

    and when I try to run this am getting an error like "ora-00997 illegal of the long data type using", can any1 help me solve this

    Hello

    SQL> create or replace type tmp_type as object(
      2    index_name       varchar2(30),
      3    table_name       varchar2(30),
      4    column_expression clob,
      5    column_position   number(10)
      6  )
      7  /
    
    Type created.
    
    SQL> create type tmp_tab as table of tmp_type;
      2  /
    
    Type created.
    
      1  create or replace function user_ind_expr return tmp_tab pipelined as
      2    cl clob;
      3  begin
      4    for r in (select * from user_ind_expressions@FRISKDEVI41B_ORCL) loop
      5      cl := r.column_expression;
      6      pipe row (tmp_type(r.index_name, r.table_name, cl, r.column_position));
      7    end loop;
      8    return;
      9* end;
    SQL> /
    
    Function created.
    
    SQL> CREATE TABLE tmp as
      2  SELECT a.index_name,a.index_type,a.uniqueness,a.table_name,
      3  b.column_name,c.column_expression,b.column_position
      4  FROM user_indexes@FRISKDEVI41B_ORCL a,
      5  user_ind_columns@FRISKDEVI41B_ORCL b,
      6  table(user_ind_expr) c
      7  WHERE b.index_name = a.index_name
      8  AND b.table_name = a.table_name
      9  AND b.index_name = c.index_name (+)
     10  AND b.table_name = c.table_name (+)
     11  AND b.column_position = c.column_position (+)
     12  ORDER BY a.table_name
    SQL> /
    
    Table created.
    

    Bartek

  • A Client Session by schema - stale object the commit in Session

    Hi all

    We have a terrible problem with our current implementation of Toplink.
    Our EPS is:
    Application server: oc4j10.1.2
    TopLink v.3
    Java 1.4

    We have several patterns in the architecture, patterns A, B, C, D and E.

    Now, A schema is a kind of seed data schema or common data area and contains baisc structures such as locations, roles, and others.

    And B French E diagrams use certain structures A or on the level of the object, there is an has a relationship to the objects in A schema.
    We can change the mapped field toplink for the foreign key (in SCHEME B) which establishes this relationship, to point to another folder/object. Thus an object in the schema B can be recycled through different objects in A schema.

    For example: A person can be associated with a location and the location associated with the person can be changed on the person object.

    However, when I do this, I see the published updates and the location is updated in the database and the UOW is committed. However, when I read the object, I get the old location. I return the stale object. Unless I update manually the object, the object of leasing is read from the session cache and he still vomits that Rassi.

    What concerns me is, why the State of the object is not snychronised with the Session, even after the UOW derived that the Session has been committed to the DB. Is this because the object belongs to an another schema? Or there could be a problem in the mapping Setup?

    After having a terrible time, find a solution. If someone has an idea/small idea, I'll be really grateful if you could let me know. If you need more information, just ask.

    Thank you
    Mary jenne

    Hello

    I think you should use addForeignKeyFieldName ("CS_LOCATION.CS_LOC_ID", "PR_BASETOURINFO.CS_DEST_DROPOFFDESTN_ID"); who will tell toplink CS_DEST_DROPOFFDESTN_ID is the foreign key, and it must be set to the value in CS_LOCATION.CS_LOC_ID when the relationship is defined.

    By using addTargetForeignKeyFieldName, you say TopLink is the foreign key in the target table. essentially, this CS_LOCATION.CS_LOC_ID is the foreign key and must be defined with the value that lies in PR_BASETOURINFO.CS_DEST_DROPOFFDESTN_ID. This prevents PR_BASETOURINFO.CS_DEST_DROPOFFDESTN_ID to be defined through the mapping. With the help of a foreign key mapping target is similar to what actually read-only, since the changes of relationship will not result in a change in the database - some other mapping in the reference object must define the foreign key field target and a mapping in this object controls the referenced id.

    Best regards
    Chris

  • When you use the feature of period of Parental controls for my child's account, the session is saved, and although very convenient for the user, it's boring for the parent. How can I disconnect this acct when it expired already?

    When you use the period of Parental control feature, acct of my child receives the 15 min and 1 put min warning, and then the closure of the session. However, any Web site that it has a really annoying music keeps playing even when I connected under my account admin the only way I can disconnect the acct with Parental control game is to restart my whole machine. Is there another way to disconnect the user standard acct with this feature of limitation in time game? THX.

    Hi marion_librarian

    Thank you for using the Microsoft Answers Forums!

    This is the problem of design, the session remains active in the background, however, so the next time they connect, they can pick up where they left off without losing any of their work.

    In case if you complete the program, there is no these settings in the parental control to close the program, you can disconnect the program using the Task Manager.

    Check the link for more information:

    Explore the features: Parental controls:

    http://www.Microsoft.com/Windows/Windows-Vista/features/parental-controls.aspx

    Set up Parental controls:

    http://Windows.Microsoft.com/en-us/Windows-Vista/set-up-parental-controls

    NOTE: When you log in as an administrator you can connect to the wide of other users. Follow these steps to log on to the account with Parental control and/or any other user.

    1 click-right on the taskbar and open the Task Manager.

    2. Select users

    3. right click on the user name you want to disconnect, and then click close session.

    Hope this information was useful.

    Let me know if it worked.

    All the best!

    Thank you and best regards,

    R uma - Microsoft technical support.

    Visit our Microsoft answers feedback Forum and let us know what you think.

  • To pick up on the details of the user of the session in IOM

    Hi Experts,

    We have few admin users who have exclusive permission to run a particular scheduler. Now this scheduler should run to only users belonging to organizations or agencies sup of the admin user who has run. The requirement is to find the details of the user session in the Scheduler.

    So I would be grateful someone shares with me the knowledge of a such available api IOM to retrieve the details of the session.

    Check api ContextManager

    Import oracle.iam.platform.context.ContextManager;

    ContextManager.getOIMUser)

  • DRM-61026: cannot create the session of the user for the following reason: the connection has failed. User name or password.

    Im very new to Oracle DRM and Im trying to get the configuration of the application on the Windows Server that is running SQL Server 2008.  When I try to connect to the Web Client I get this error.

    DRM-61026: cannot create the session of the user for the following reason: the connection has failed. User name or password.

    Can you please help

    The problem is solved, reinstalled DRM and recreated the repository. the password has a symbol that causes the problem, @.

  • The previous user didn't verify his account. I don't know how to close the session?

    The previous user didn't verify his account. I don't know how to close the session?

    CC just asked me to check it out but it is NOT my account and I do not know whose ID is.

    And now I can not connect with my account. Help, please.

    BTW, there is NOT "Préférences."... "in the setting button.

    Windows:

    Step 1)

    Exit the desktop Adobe Creative Cloud application.

    End Adobe partner all the processes like creative cloud, CoreSync, AAMUpdater, Armsvc... etc. of the Task Manager.

    Step 2)

    Press Windows button (located between Ctrl and Alt buttons) with the key R together at once, you will get a command window.

    Type below command and press the enter"" key.

    AppData

    Then go to the Local > Adobe > OOBE. Open the OOBE folder and delete the file opm.db .

    Once you had deleted Opm.db file, run Adobe Creative Cloud application and check.

    Mac:

    Step 1)

    Exit the desktop Adobe Creative Cloud application.

    End Adobe partner all the processes like creative cloud, CoreSync, AAMUpdater, Armsvc... etc of Activity Monitor.

    Location: Applications > utilities > activity monitor.


    Step 2)

    (1) right-click on the icon in the Finder, then select 'Go - To' folder.
    (2) you will get a text box, type in the following command and then press the 'return '. (Don't miss ~ symbol)

    ~/Library

    (3) then navigate to Application Support > Adobe > OOBE. Open the OOBE folder and delete the file opm.db .

    Once you had deleted Opm.db file, run Adobe Creative Cloud application and check.

  • View the Sessions available with affected user 5.1

    Hi, someone knows how you can automate removing assigned users of the Sessions available?  Wehn a users uses a session it is moving towards the office.  When they disconnect from the Session will be available but leaves to name as a user assigned to the desktop?

    Thank you

    Chris

    It seems that you have accidentally set up a specialized pool when you want to place a floating pool. Pools dedicated train a 1:1 for VM user mapping, but floating pools allow the re-use of any free virtual machine within a pool. You will need to delete the existing one and create a new floating pool.

  • Display users, every day a customer 19:00 error: secure connection timed out (the session has expired, please login again.)

    Hello

    Every day at 19:00 that our employees are disconnected from their virtual desktops, I know that it is because the connection has expired.

    My question is about this delay, the default session out of time (in minutes) is 600. Users log on the connection of the view at 09:00 and they will lunch at 13:30 and return to 15:00.

    600 minutes is the value of minutes between 09:00 and 19:00.

    But time out of session in the VDM global configuration settings is the session limit of when a user opens a session on the server to connect to when the session ends due to INACTIVITY?

    Users are still working at 19:00, so there is no inactivity.

    Why they were disconnected?

    Jorpavon wrote:

    But time out of session in the VDM global configuration settings is the session limit of when a user opens a session on the server to connect to when the session ends due to INACTIVITY?

    No, it isn't. It is the length of the maximum session regardless of the activity, and is necessary to avoid thin clients that never disconnect flooding the broker with the sessions. There is no setting "off". You will simply have to increase it the maximum time that a user will be connected.

  • the audit of a specific user for their session

    Is it possible to toggle the audit for a user in a way similar to the activation/deactivation of a role?

    What I'm trying to do is - to enable auditing for a user when they connect to an application (where his roles via an application based role - (identified by a package role) allows the application) and - when the user disconnects have audit automatically "disable."

    I don't know if this is possible. Idea/suggestions are greatly appreciated.

    Thank you!

    If I understand your question, you can use a fine grain for this audit. AFAIK, you can under certain conditions to audit using regular buildings. You can do something like...

    begin
      dbms_fga.add_policy(object_schema   => 'YOUR_USER',
                          object_name     => 'YOUR_TABLE',
                          policy_name     => 'YOUR_TABLE_AUDIT',
                          audit_condition => 'sys_context(''userenv'',''os_user'') = ''howards''',
                          audit_column    => 'YOUR_COLUMN');
    end;
    /
    

    This will create an audit record in dba_fga_audit_trail when the howards os_user selects the column of the specified table. If the same database user running the select when you are connected to os_user 'raymond', the selection will not be audited.

    Some sys_context parameters are easily spoofed, but the idea should hold true regardless of how you would rate the session.

  • How to rectify ORA-02394 exceeded the session on user IO error?

    Hi people,
    I use Oracle 9i database. In that, if I tend to connect to a user individual e.g. SCOTT am not connect to the session
    and I get this error as,
    ORA-02394 exceeded session limit on IO usage, you are being logged off
    
              So now I can access the database only as SYS user not an ordinary user.so how can I rectify this problem?.pls help me.
    Regarding
    VIDS

    Hi, check the profile that you use and can be a limit is mentioned for the LOGICAL_READS_PER_SESSION parameter. so, try increasing this value and everything will be fine.
    If still facing errors, post them

  • Is it possible to limit the user to a session?

    Hello
    We have Oracle apps R 12.0.6, single node installation. Due to performance issues, I want to prevent the user not to have only a single session. Is it possible to limit the user to a session?

    Concerning
    Arizuddin

    Hello

    Is it possible to back out if necessary? We have to bounce the server applications after the loading event, subscriptions, or can it be implemented while the instance is up & running?

    You can return back (mentioned in the other thread). I think you have to bounce the application services once you are finished.

    Kind regards
    Hussein

  • Duration of the session for users

    Hello all-

    If a user is connected to the Essbase database through the spreadsheet. How can I control their time of connection with the database. Many users will connect using the spreadsheet and do not disconnect sessions and I can see connected to the sessions. Is

    It there a way where in I can limit the time that they are linked to databases and are automatically disconnected. My guess is not sure that, if a user disconnect its meetings continues to be connected to the database / don't know

    What happens if the user closes the spreadsheet without disconnecting?

    Thank you!

    Hello

    You can set session parameters in environmental assessments or via maxl (some of them could if applies not in essbase uses the security of shared services)

    Reading of: -.
    http://download.Oracle.com/docs/CD/E10530_01/doc/EPM.931/html_esb_techref/MAXL/DDL/statements/Altsys.htm

    Set session_idle_limit
    Set the interval of time allowed for a session to be idle before Essbase server disconnects the user. The minimum limit that you can set is five minutes (300 seconds). When the idle session limit is set to none, all users can stay connected until the Essbase server is stopped. The default limit is 60 minutes.

    You can also logout sessions using EAS or maxl there is a list of the different options in the link above.

    See you soon

    John
    http://John-Goodwin.blogspot.com/

  • jdev11 selection tab and allow the customization of the user on the bug of the Session.

    If you enabled customization by the user for the duration of the session, then what ever user edits a page remains the same through the session.
    That is to say. Boxes of Panel, advanced the query criteria, the visible columns in tables in the collections Panel etc. revealed.

    The problem is that you can't customize the properties to be kept or not:
    ++ Developer fusion for Oracle ADF & 34.3 user customizations Configuration guide: ++
    ++ Note +: If you have activated just the session persistence, then all attributes of the values given in table 34-1 will be persisted in the session. +
    It there is no way to substitute it either globally, or on an instance.
    The biggest problem is that if you have a business logic on these components appearance or behavior you cannot override user settings.

    Is this a bug?
    Shouldn't logical business methods replace the user personalization settings?

    Customization of the user for the duration of the session will be configurable?

    Details: [http://adfbugs.blogspot.com/2009/09/tab-selection-and-enable-user.html]

    Hello

    Is this a bug?

    Don't think. I guess your business logic depends on the disclosure statement, which is usually reset after each navigation works to a page. Using persistence of change you explicitly allow the user to keep the changes. If your business logic cannot rely on a State has changed.

    The enhancement request proposed to prevent changes of the perisisting its just components. I'll drop a.

    But it is not that you cannot override the persistent information for a component. You can use the ChangeManager API that is exposed on the ADFFacesContext to substitute information persistence

    http://download.Oracle.com/docs/CD/E15051_01/apirefs.1111/e10684/Oracle/ADF/view/rich/change/changemanager.html

    For example, with a change of disclosure event:

      boolean isDisclosed = < whatever you like to set >;
      //Record a Change for 'disclosed' attribute
      AttributeComponentChange aa =
      new AttributeComponentChange('disclosed', isDisclosed ? Boolean.TRUE : Boolean.FALSE);
      AdfFacesContext adfContext = AdfFacesContext.getCurrentInstance();
      //set disclosed state to component. Here you override the user choice
      adfContext.getChangeManager().addComponentChange(getFacesContext(), event.getSource(), aa);
    

    Frank

    Published by: Frank Nimphius, on September 30, 2009 15:20

Maybe you are looking for