Can we pass more than a string as SECURITY_PRINCIPAL to an EJB?

Hi there,
I am wondering if we could pass more than just a String as a
SECURITY_PRINCIPAL to an EJB?
For example, if I have EJB_1 on server_A that calls EJB_2 on server_B, when
EJB_1 creates the InitialContext, I will need to pass in "Username" and
"Password" as the SECURITY_PRINCIPAL and SECURITY_CREDENTIAL. From EJB_2, I
could get the SECURITY_PRINCIPAL in the form of a java.security.Principal
principalObject.getName() right? What if I my security principal is more
than just a username, could I make this work?
Thanks!
Steven

Hey Sri,
Thanks for the reply. This sounds like a pretty serious flaw? I mean what if
the authentication involves more than just a username? Or if it was a
biometric scan or something?
In my case, I just wanted to pass in things like client machine name, ip
address for logging on the server side and such without having to create an
additional parameter on each of my EJB methods. Is there any other way that
I could do so?
Best Rgds,
Steven.
"Sri" <[email protected]> wrote in message news:[email protected]..
>
There is no way in J2EE to piggy back objects on pricipal; you can onlyget caller
name. However you can piggy back stringified object on your caller name. Ibelieve
this is true for WLS too.
S
"Steven" <[email protected]> wrote:
Hi there,
I am wondering if we could pass more than just a String as a
SECURITY_PRINCIPAL to an EJB?
For example, if I have EJB_1 on server_A that calls EJB_2 on server_B,
when
EJB_1 creates the InitialContext, I will need to pass in "Username" and
"Password" as the SECURITY_PRINCIPAL and SECURITY_CREDENTIAL. From EJB_2,
I
could get the SECURITY_PRINCIPAL in the form of a java.security.Principal
principalObject.getName() right? What if I my security principal is more
than just a username, could I make this work?
Thanks!
Steven

Similar Messages

  • How can I pass more than one parameters in PDK-URL services?

    Hi all,
    How can I pass more than one parameters in PDK-URL service? All samples on Portal Center shows just one parameter passing.
    <inputParameter class="oracle.portal.provider.v1.URLPortletParameter">
    <name>csz</name>
    <isMandatory>false</isMandatory>
    <displayName>What location do you want a map for (City, State or Zip)?</displayName>
    </inputParameter>
    How can I write the privider.xml file for passing multiple parameters?

    I answer to my question. I've got the answer.
    I repeatly write down the <inputParameter> tags, and it works.

  • How can i pass more than 1 param to servlet to show blob image

    Hi
    my servlet expects 2 param to SELECt an image from a blob column
    public class ImageBlobServlet extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {
    response.setContentType(CONTENT_TYPE);
    String ImageId = request.getParameter("id");
    String TipImg = request.getParameter("tip");
    OutputStream os = response.getOutputStream();
    Connection conn = null;
    try {
    Context ctx;
    ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/rhDS");
    conn = ds.getConnection();
    PreparedStatement statement = conn.prepareStatement("select FIT from " +
    "RHH_FOTOS IMG " +
    "where IMG.IDASSO = ? and IMG.TIM_COA = ?");
    statement.setInt(1, new Integer(ImageId));
    statement.setString(2, TipImg);
    To display the image i tried to use:
    <af:image id="ot1"
    *source="/imageblobservlet?id=#{bindings.Con.inputValue}?tip=#{"EMP"}"*
    shortDesc="Foto"/>
    but i receive all content in the get of first param.
    String ImageId = request.getParameter("id");
    How can i pass one more then 1 param in EL.
    Thanks in advance

    Hello,
    seems to me you're using wrong separator for the second param into your URL:
    <af:image id="ot1" source="/imageblobservlet?id=#{bindings.Con.inputValue}
    tip=#{"EMP"}" shortDesc="Foto"/>
    I think it should be:
    <af:image id="ot1" source="/imageblobservlet?id=#{bindings.Con.inputValue}
    tip=#{"EMP"}" shortDesc="Foto"/>
    Jack

  • Can you pass more than on variable with getURL in flash form

    I needed to call another page from inside a form not with the submit button and fournd this piece of code
    <cfinput type="button" id="btEdit" name="btEdit" value="View" onClick="getURL('../../forms/Program_populate.cfm?<cfoutput>#SESSION.URLToken#</cfoutput> &Reference='+data.dataProvider[data.selectedIndex]['ID'],'_blank')" >
    "Reference" is passed in the URL, I have tried to tweek this to pass an additional field "ID" , Vendor_Number" , but have been unable to find the correct syntax.  If anyone can help that would be great.
    Thanks,
    Mike

    url variables are passed as follows
    after the file name a question mark (?) then,
    name=value with an ampersand (&) between name value pair
    You may be having problems with escaping the action script code.
    If the value is a coldfusion value just cfoutput the value as in your example.
    If the value is from a form element then you need to escape it as in the example
    remove the comments from below
    getURL('../../forms/Program_populate.cfm?
    <cfoutput>#SESSION.URLToken#< /cfoutput>
    &Reference='+data.dataProvider[data.selectedIndex]['ID']
    // need to add more info so put in the plus and add the text of the url variable name (let's assume the id is from CF)
    + '&ID=<cfoutput>#queryName.ID#</cfoutput>&Vendor_Number='
    //we have add the url variable name above, but let's assume it is coming from a form field
    // then we need to close the string, done above and add the value
    + data.dataProvider[data.selectedIndex]['Vendor_Number']
    ,'_blank')
    Hope this helps.
    If you still have problems, assing all this to a cf variable and output it so you can read what it is to debug it.
    Ken

  • Can a url referencing an Application Process pass more than one parameter?

    Hello,
    I have a page in an application that uses pl/sql to generate a list of links.
    The purpose of each link is to call another pl/sql procedure which in turn opens/runs a report external to the APEX application (either a call to Oralce Application Server generate live or pull clob stored in database). If the URL calls the pl/sql procedure directly I lose session state and no longer know who the user is. To maintain session state the URL references an APPLICATION_PROCESS. I would like to pass a number of parameters, but can only seem to pass one, using javascript to pass the value to a hidden item which is then accessed in the procedure called by the APPLICATION_PROCESS.
    Can I pass more than one parameter?
    My URL:
    https://<server>/pls/apex/f?p=V('APP_ID'):0:V('APP_SESSION'):APPLICATION_PROCESS=MY_PROCESS:NO::P1NAME:P1VALUE
    I could pass all the parameters in P1VALUE and using a special character delimiter break it up again in the javascript, but would prefer not to.
    Thanks for any help,
    Jock

    Did you mean something like this?
    https://<server>/pls/apex/f?p=V('APP_ID'):0:V('APP_SESSION'):APPLICATION_PROCESS=MY_PROCESS:NO::P1NAME,P2NAME,P3NAME:P1VALUE,P2VALUE,P3VALUE
    Best Regards, Kostya Proskudin

  • How to pass more than one value to the procedure

    How can I pass more than one letting date to this procedure. If it is only one letting date, I do not have a problem but when it is more than one letting date at the same time then I am stuck. please help
    example I would like to pass this three letting dates : '01/17/2010', '01/27/2010','05/22/2010'
    CEATE OR REPLACE PROCEDURE TPLCP.PLANHOLDERSLIST
    P_LettingDate IN  VARCHAR2,
    p_results OUT sys_refcursor
    AS
    BEGIN
        OPEN p_results FOR
    SELECT DISTINCT DECODE (TRIM (MIN (j.route)), NULL, 'N/A',TRIM (MIN (j.route))) rt,l.lcontid conid,
                     SUBSTR (q.cprojnum, 1, 10) pr, SUBSTR (l.letting, 3, 2)|| '-'|| SUBSTR (l.letting, 5, 2)|| '-'|| SUBSTR (l.letting, 1, 2) lt,
                    (q.cdescr) jbtyp, INITCAP (q.clocat1 || q.clocat2) loc
               FROM vendor v,
                    vendaddr r,
                    letprop l,
                    planhold p,
                    proposal q,
                    project j,
                    propproj k,
                    bidlet bd
              WHERE v.vendor = r.vendor
                AND k.contid = q.contid
                AND k.pcn = j.pcn
                AND l.lcontid = k.contid
                AND p.vendor = v.vendor
                AND l.letting = p.letting
                AND TO_CHAR (bd.datelet, 'MM/DD/YYYY') IN P_LettingDate
                AND l.CALL = p.CALL
                AND r.addrnum = p.billto
                AND bd.letting = l.letting
           GROUP BY v.vendor,
                    r.addrnum,
                    v.vnamel,
                    r.aaddr1,
                    p.billto,
                    r.acity,
                    r.astate,
                    q.cdescr,
                    q.clocat1,
                    q.clocat2,
                    bd.letting,
                    r.azipcode,
                    r.vasst1,
                    r.aphone,
                    l.letting,
                    l.lcontid,
                    q.cprojnum;
    END PLANHOLDERSLIST;

    you can create your on array type and then pass that as the parameter. I use the suffix of ttyp to represent a table type.  The name of the column when using the table() syntax is columnvalue.
    I altered my session to set the default date format to match your format. you could have used the to_date function to set the values for the arr type.
    Hope this helps.
    create type msw_ttyp as table of date
    create or replace
    procedure msw_test(p_arr     in msw_ttyp) as
    v     integer;
    begin
    select count(*)
       into v
       from table(p_arr);
    dbms_output.put_line('count: '||v);
    for rec in (select column_value
                   from table(p_arr))
    loop
      dbms_output.put_line(rec.column_value);
    end loop;
    end msw_test;
    alter session set nls_date_format = 'MM/DD/YYYY';
    set serveroutput on size 1000000
    exec msw_test(msw_ttyp('01/17/2010', '01/27/2010','05/22/2010'));
    begin
    msw_test(msw_ttyp(to_date('01/17/2010', 'MM/DD/YYYY'),
                       to_date('01/27/2010', 'MM/DD/YYYY'),
                       to_date('05/22/2010', 'MM/DD/YYYY')));
    end;
    /

  • Shell script how getopts can accept more than one string in one var

    In shell script   how  getopts  can  accept  more than one string in one variable    DES
    Here is the part of shell script that accepts variables  from the Shell script  but the   DES   variable does not accepts more than one variable.,  how to do this ??
    When i run the script like below
    sh Ericsson_4G_nwid_configuration.sh   -n  orah4g    -d   "Ericsson 4g Child"    -z Europe/Stockholm
    it does not accepts    "Ericsson 4g Child"    in  DES  Variable   and only accepts    "Ericsson"  to DES variable.
    how to make it accept     full   "Ericsson 4g Child" 
    ========================================
    while getopts “hn:r:p:v:d:z:” OPTION
    do
      case $OPTION in
      h)
      usage
      exit 1
      n)
      TEST=$OPTARG
      z)
      ZONE="$OPTARG"
      d)
      DES="$OPTARG"
      v)
      VERBOSE=1
      usage
      exit
      esac
    done

    Please use code tags when pasting to the boards: https://wiki.archlinux.org/index.php/Fo … s_and_Code
    Also, see http://mywiki.wooledge.org/Quotes

  • URGENT: passing more than one value at the same parameter

    Hello friends at www.oracle.com,
    if I have a Forms program that sends some parameters to a Report, how can I send more than one value at the same parameter that is being sent?
    For example: the Reports parameter P_CODE should receive (from Forms) and print the values 1, 2, 3 and 4, each one in a different page. But, only 4 is being printed, and these values aren't saved at a database, so I have to pass the other three values too. How can I solve this problem?
    This is quite urgent and I need help on this.
    Best regards,
    Franklin Gongalves Jr.
    [email protected]

    Thanks to Oracle Reports Team for answering! I'm sure this will work.
    Best regards,
    Franklin Gongalves Jr.
    [email protected]
    hello,
    on the forms side, you will have to build the list for this parameter by e.g. string concat.
    on the reports side you will have to "decode" this parameter according to how you built it in forms.
    e.g. if you pass the list like this "10~20~30" you might use a where-clause in the query
    ... where instr(myCol, :myParam) >0
    regards,
    the oracle reports team --pw                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

  • How to pass more than one parameter using common...

    Hi,
    I am using ODP.NET with my 2005 VB
    I want to create function from where I can pass more than one parameter to execute SP, or query just like i created for SQL SERVER as below
    Public shared Function CreateParameter(ByVal paramname As String, ByVal paramvalue As Object) As DbParameter
    Dim param As DbParameter
    param = New SqlParameter
    param.ParameterName = paramname
    param.Value = paramvalue
    Return param
    End Function
    Public Shared Function ExecuteQuery(ByVal sql As String, ByVal commtype As CommandType, ByVal ParamArray parameter As DbParameter())
    Dim cmd As DbCommand = New SqlCommand()
    cmd.Connection = OpenConnection()
    cmd.CommandType = commtype
    cmd.CommandText = sql
    cmd.Parameters.AddRange(parameter)
    Dim RetVal As Integer = cmd.ExecuteNonQuery()
    Return RetVal
    End Function
    specially part is in bold to be converted
    I tried like but oracleCommand.parameters doesnt support AddRange
    please help me out
    Regards

    Hello,
    I used the following way:
    pCommand.CommandText = "Update " + sDataTable + " set "
    + sColumnName + " = :1 ";
    pCommand.Parameters.Add("ValueToDb",
    this.DefaultDbType,
    this.m_Value,
    System.Data.ParameterDirection.Input);
    Of course, you can add :2,... to your command text, too.
    The way back is:
    sEndOfTheClause += " RETURNING " + sDataTable + "." + sColName + " INTO :iNewValue";
    pCommand.CommandText = ... + sEndOfTheClause;
    pCommand.Parameters.Add("iNewValue", this.DefaultDbType,
    ParameterDirection.Output);
    bool bReturn = (pCommand.ExecuteNonQuery() != 0);
    if ((bReturn == true) && (pCommand.Parameters.Count > 0))
    this.Value = DataService.Convert<DATA_TYPE>(pCommand.Parameters[0].Value);
    ....

  • Sending more than one string from a server to a client in TCP/IP

    hi,
    i have two VIs where one is the server and the other the client in TCP/IP. I need to send more than 2 strings to the client at the same time.i have used the XML method but then by using XML i cant send any thing else to the client because of the byte sizes. so either i need a new way to send the strings or a new way to send more data. i have attached my VIs to this post if you need to take a look.
    thanks,
    Rambaldi.
    Attachments:
    ServerClient.zip ‏83 KB

    Well, after looking at the code it is very difficult to understand what you are trying to do. Not to be nasty or anything but your code is a mess. Did you know that in both VIs you have an infinite loop? The only way to exit your VIs is to use the Abort button. This is bad since it doesn't allow you to actually perform any type of cleanup. Your wiring is very difficult to follow. You should also avoid using local variables to pass data through your application. If you need to pass data between two parallel processes use queues, notifiers or an action engine. You can get rid of all of the sequence frames that you have. They aren't really doing anything for you and are unnecessary.
    As to your particular question I would have to assume that it is simply a result of bad coding that is preventing you from sending more than one string. You have logic in the second loop that appears to be impossible to get to since the conrol used to switch the case statement is placed on a hidden part of the front panel. Take a look at the TCP server example I posted in this thread. The example is on the second page of that thread.
    In order to help you I think you need to provide a good description of exactly what you want your server and client to do. You also need to do some code cleanup to make it readable and easier to follow.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Page HTML Body Attribute - can there be more than one in this area?

    In "Oracle Database Application Express Advanced Tutorials", Release 3.0, B32469-01 on page 10-10, in the section labeled "Create a Call to the disFormItems Function" in step 6........it reads:
    //start citation
    In the Page HTML Body Attribute, enter the following:
    onload="disFormItems(); first_field();"
    //stop citation
    My questions are:
    Can there be more than one "onload" statement?
    If yes, how do you string them together?
    Assume the second function I want to add is "disFormItems_local()"
    Thank you,
    Maggie

    Okay, I have figured it out, I believe. So, I will provide my own answer in case someone else is looking for this type of situation in the future.
    I edited the page definition by adding another function, disFormItems_local(), to the HTML Header Attribute.
    Next, I edited the item's HTML Form Element Attributes to call the function, onchange="disFormItems_local()"
    Then, I created a call to the disFormItems_local function in the page HTML Body Attribute, onload="disFormItems(); first_field(); disFormItems_local();"
    Other stuff that you will need to know is to be found in Chapter 10 page 8, Enabling and Disabling Form Elements of the 3.0 Advanced Tutorials.

  • Can't connect more than one device.

    I just bought an Airport Express 2 gen from a friend and I have two issues: I tried to reset it to factory settings and could not do it. Tried holding the reset button for 10 secs, unplugging and plugging back in while holding the reset button, holding the button for a longer time and nothing worked. I had no choice but to create another network. Once created, I can't connect more than one device. If I have my MacAir hooked up the network and I try to get my Ipad in, the minute I type the network pass in my Ipad, a screen pops up where I have to log in with my internet provider account. When I do that, it will connect, but my MacAir will disconnect automatically.
    Appreciate any help!

    Things are a bit different with the 2nd Gen AirPort Express and other newer AirPorts.
    A Factory Default Reset is now the same as what was previously known as a "Hard Reset".
    Power up the AirPort Express and let it run a few minutes.
    Hold in the reset button on the Express for 10 seconds
    Release the reset button and allow a full minute for the Express to restart to a slow, blinking amber light
    If the Express is operating correctly, it will be back to factory default settings at this time.
    If you try the reset a few times and the Express will not return to default settings, the Express is defective.

  • How to return more than one string?

    Hi,below is my code:
    @WebMethod(operationName = "CheckBooking")
    public String CheckBooking(@WebParam(name = "ID")
    String ID) {
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:Flight");
    // Statement stmt = con.createStatement();
    String b="Select Destination, Date from Flight_Booking WHERE BookingID=?";
    PreparedStatement ps=con.prepareStatement(b);
    ps.setString(1,ID);
    ResultSet a = ps.executeQuery();
    //Print the data to the console
    while(a.next()){
    return a.getString(1);
    catch( Exception e ) {
    e.printStackTrace();
    return "a";
    Actually, I would like to select Destination and Date from the database, but if I set the return result as string, then only Destination will be return,how can I modify it so that both of the Destination and Date also will be return?As I know, .Net has a return type called Dataset, in Java what should I write?
    Actually,I am writing this web services to consume it on a table from .Net,so what is the most suitable to code it so that more than one string can be return?

    Create either a list or an array and assign your values to it and return it.
    arrays
    lists

  • How to pass more than one value for one column in procedure

    hi
    select id, name from col_tab where dept_name in ('ECE','CIVIL');
    when i was running this it is working well.
    CREATE OR REPLACE PACKAGE pack_str
    AS
    TYPE type_refcur IS REF CURSOR;
    PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur);
    END pack_str;
    CREATE OR REPLACE PACKAGE BODY pack_str
    AS
    PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur)
    IS
    BEGIN
    OPEN ans FOR
    select id,name from col_tab where dept_name in char_in ;
    END str;
    END pack_str;
    the package was created.
    my doubt is
    1.how to pass more than one value for char_in (e.g ('ECE','CIVIL'))
    2. when i was storing the value in string like val = 'ECE,CIVIL' ,
    how to get the id,name for ECE and CIVIL.
    plz help me

    Hi Rebekh ,
    I am recreating your packages for the desired output.
    CREATE OR REPLACE PACKAGE pack_str
    AS
         TYPE type_refcur IS REF CURSOR;
         PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur);
    END pack_str;
    CREATE OR REPLACE PACKAGE BODY pack_str
    AS
         PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur)
         IS
              lv_t varchar2(200);
         BEGIN
              lv_t := REPLACE(char_in,',',''',''');
              lv_t := 'select id,name from col_tab where dept_name in (''' || lv_t || ''')' ;
              OPEN ans FOR lv_t;
         END str;
    END pack_str;
    Note:-
    Input Parameter char_in is a comma seperated value for dept_name
    -Debamalya

  • How to pass more than one parameter

    Hello,
    This is my code.
    How to pass more than one parameter:
    SELECT:responsibility_name responsibility_name,
    LPAD(' ', 6*(LEVEL-1))
      || menu_entry.entry_sequence sequence ,
      LPAD(' ', 6*(LEVEL-1))
      || menu.user_menu_name SubMenu_Description ,
      LPAD(' ', 6*(LEVEL-1))
      || func.user_function_name Function_Description ,
      LPAD(' ', 6*(LEVEL-1))
      || menu_entry.prompt prompt
      ,menu.menu_id ,
      func.function_id
      --menu_entry.grant_flag Grant_Flag ,
      --DECODE( menu_entry.sub_menu_id , NULL, 'FUNCTION' , DECODE( menu_entry.function_id , NULL, 'SUBMENU' , 'BOTH') ) Type
    FROM fnd_menu_entries_vl menu_entry ,
      fnd_menus_tl menu ,
      fnd_form_functions_tl func
    WHERE menu_entry.sub_menu_id    = menu.menu_id(+)
    AND menu_entry.function_id      = func.function_id(+)
    AND MENU.LANGUAGE(+) = 'US'
    AND FUNC.LANGUAGE(+) = 'US'
    --AND func.user_function_name LIKE '%Primary Care Providers%'
    AND grant_flag                  = 'Y'
      START WITH menu_entry.menu_id =
      (SELECT menu2.menu_id
      FROM fnd_menus_tl menu2,apps.fnd_responsibility_vl resp
      WHERE menu2.menu_id=resp.menu_id
      and resp.responsibility_name= :responsibility_name
      --and menu2.user_menu_name = ('ATCO HR INQ USER'
      AND LANGUAGE = 'US'
      CONNECT BY MENU_ENTRY.MENU_ID = PRIOR MENU_ENTRY.SUB_MENU_ID
       and menu_entry.function_id not in (select func.function_id
                                       from --fnd_form_functions_vl fnc,
                                       apps.fnd_resp_functions exc,
                                       apps.fnd_responsibility_vl res
                                      where func.function_id = exc.action_id
                                      and res.responsibility_name =:responsibility_name
                                      and res.responsibility_id=exc.responsibility_id)
      and menu_entry.sub_menu_id  not in (select menu.menu_id
                                       from --fnd_menus_vl imn,
                                       apps.fnd_resp_functions exc,
                                       apps.fnd_responsibility_vl res
                                       where menu.menu_id = exc.action_id
                                       and res.responsibility_name =:responsibility_name
                                      and res.responsibility_id=exc.responsibility_id)
    ORDER SIBLINGS BY menu_entry.entry_sequence;
    Thank you for your help
    Shuishenming

    Hi, Ming,
    One way is to put the "parameters" in a table, and join to that table in your query.  If you make it a Global Temporary Table, then multiple sessions can run the query at the same time, and each can be seeing different responsibilities.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data.  Since this problem involves parameters, you should give a couple of different sets of parameters, and the results you want from the same sample data for each set.
    Explain, using specific examples, how you get those results from that data.
    Always say what version of Oracle you're using (e.g. 11.2.0.2.0).
    See the forum FAQ: https://forums.oracle.com/message/9362002

Maybe you are looking for

  • How to create a view object and attach with extended AM

    Hi, I tried to create new vo and attach this vo with the extended AM. But it is throwing error like 'PC.NAME : invalid identifier' (Actually this PC.NAME is exiting one). Now i want to know how to create a view object similar like seeded one but with

  • Problem with Flashplayer after updated to 10.0.42.34

    I updated to the New version of adobe flashplayer on vista. Ever since then when I go to myspace which other then youtube is the only 2 places I browse. a few seconds after logging in I get an error message with the problem listed as Flash10d.ocx and

  • Cannot dowload latest version of itunes

    why can't I dowload latest version of itunes,the dowload gets so far then message pops up about route to Bonjour.msi canno find this route

  • Ask; Snake n ladder quizz

    Hello friends, I want to ask,,, anyone can help me? I'm learning to make a quiz game snakes and ladders, how to play is when before rolling the dice a player must answer the question arises, if the correct answer then the player can play dice. but if

  • Book feature. Page count starts off by 1

    I have a book, and my first section has 12 pages. The 2nd section however says it starts on 14. Where did 13 go? The way my book is setup, all section must start on the odd page (right page). I've done every kind of syncing, and all pages have auto p