What's the best way to do authorization for my app?

The authorization situation is somewhat complicated for my app.
Each component of the app is authorized based on not only the user, but also the page number, the value of at least one P0_ITEM.
From what I've seen so far, there are two different options of setting the authorization for the component:
1. Set its Condition
2. Set its Security Authorization Scheme
Here is my understanding for each (from my limited experience with APEX):
1. Set its Condition
+ Can pass in parameters such as :APP_USER, page numebr, P0_ITEM. So I can just create one function that does all the authorization
- Have to combine the SQL query with the component's non-authorization display conditions, if any.
2. Set its Security Authorization Scheme
+ By name, it seems like it should be used for authorization
- Cannot take in parameters relating to the page, such as the page number --> therefore I will need to create many different schemes, for all the different pages.
#2 will end up with a long list of schemes (each with its own SQL queries) for different pages, which doesn't seem as efficient as #1 with far fewer SQL queries and just take in parameters.
Which one should I pick?
Thanks!

953006 wrote:
Thanks fac586 for the detailed response, and also everyone else who replied. You guys are very helpful and respond promptly. And we'd appreciate it if you changed "953006" into a real handle promptly.
Andre mentioned using conditions:
The way I work around this is to have two functions, one which is used at the page level as a normal authorization scheme and one which can be passed variables which is called as a Condition and the name of the item is one of the variables, in effect giving it "self awareness".But fac586 said:
You can't pass "parameters" to authorization schemes. Use application items, APEX collections or application contexts to set current context before the authorization scheme is evaluated, and access these values in the functions.Does this mean, fac586, that we can avoid conditions altogether? No, it means that I prefer to use Authorization Schemes to control access to resources based on user privileges and security, and Conditions to control rendering and processing for functional reasons. Using the approach described above I have found it possible to maintain this separation.
Say if a page has two buttons, Button_A and Button_B. Button_A has a set of requirements for displaying and Button_B has its own set of requirements (some of which are shared with Button_A). So far, the only way that I can see of using pure authorization is to write 2 different authorization schemes, and set the authorization schemes for the two buttons respectively.What's the problem with that? Consider a more concrete example using a standard APEX report/form pattern for customer maintenance. Page 6 contains the report, and page 7 is the maintenance form with P7_CREATE and P7_SAVE buttons. Only users entitled to create new customers should have access to P7_CREATE, and only users able to edit customers access to P7_SAVE. This would be controlled by the CREATE_CUSTOMER and EDIT_CUSTOMER authorization schemes respectively. Functionally, conditions are used to show P7_CREATE if the P7_CUSTOMER_ID is null, and P7_SAVE if it's not null. We don't mix non-functional security considerations with functional requirements.
The CREATE_CUSTOMER and EDIT_CUSTOMER authorization schemes are of type PL/SQL Function Returning Boolean. These are implemented using package functions. Exactly how a user has create/edit customer privilege is determined in the package. Determinants that are shared by multiple schemes can be combined at this level. These implementations can be changed as necessary without requiring changes to the application.
The authorization schemes are reusable across pages and components. On page 6, CREATE_CUSTOMER can be used on the "Create New Customer..." button; EDIT_CUSTOMER on the report column containing the "Edit" links.
Each component of the app is authorized based on not only the user, but also the page number, the value of at least one P0_ITEM. So I guess this goes back to my original concern with Authorizations:
[Using purely authorizations] will end up with a long list of schemes (each with its own SQL queries) for different pages [and page items] ....
Re: VPD policies. Note that in the example above there's no need for the authorization schemes to "know" which pages/items are being evaluated. The P7_SAVE button and the page 6 link column are involved with the EDIT_CUSTOMER operation, so that authorization scheme is applied to them.

Similar Messages

  • What is the best way to format Videos for ipod touch?

    What is the best way to format Videos for ipod touch? Used Quicktime Pro/ Export (iPhone setting). Videos aren't as crisp as downloaded Videos. Compressors /ipod video Setting also looks crapy (with bitrate med & High). What should I use?

    Visualhub is a transcoder with multiple input and output formats with specific setting for iPod,iPod touch. Costs around $19-used to work great but recently everything I convert suffers audio crash than closes out the player. Hopefully they will fix it.
    Elgato H.264 hardware transcoder is $99 dollars(USB stick that plugs in to Mac)-speeds up encoding of any file quicktime can handle, settings for apple tv, iphone/touch, ipod,Sony PSP. Worth the cost if you transcode a lot of video for the Touch or own an elgato HD tuner. Files work flawlessly and look great.
    Mpeg streamclip-free. Works great, has presets or can customize the output.

  • What is the best way to create space for a Yosemite download?

    What are the best ways to create space for the download of Yosemite.  I can't install it as I don't have enough space.

    Did you empty Trash?  Very important!
    How much space do you have available?  Click in the HDD icon on the desktop, COMMAND+I.
    Also try a Safe Boot:
    http://support.apple.com/kb/HT1564?viewlocale=en_US
    That will temporarily create some additional space.
    Ciao.

  • What is the best way is to create a web app item collection which will contain only the listings where addressstate="ABC".

    What is the best way is to create a web app item collection which will contain only the listings where addressstate="ABC".

    How many systems have you used Robert?
    This is the only system you can not have all item data at least in JSON format and all of it. Big commerce has a lower limit and as I have said in every post related to a limit - I understand the function, but you can still make the requests as just one example (front and back)
    Same with API Robert.
    Firstly - the SOAP API request on say products gets you ALL the products, if you do something through a REST API request you can  make the requests to get all the items to complete your process of what your doing - You have to otherwise the API is pointless.
    Ok if the normal modules can not iterate through if there is a module_data solution, and web apps will get there hopefully sooner then later and you do have the sql query (where) for your filter which is great BUT, if you want to implement a solution across everything you cant do that with the liquid implementation.
    This also flows through to the JSON everywhere in concept which is fundamentally flawed for the same reason... And again referring other like services where a hard API has a limit but the JSON request returns everything.
    How those work varies from the method of request, some will only update every day, xxx time (Depending on cost of the plan) so its a cached version of data, to the ones that limit that request to x number of times per set time/day.
    That is how the actual rest of the world works, varied solutions but they are solutions. BC know they have a few limitations, there clearly is the need for things, there are a varied set of options... It is just a matter of engaging in it and offering up a solution for it, silence just creates frustration.

  • What is the best way to organize pictures for huge library?

    Hello.
    I have lost 3 evenings of work the last week after the corruption of the iPhoto database. I lose my temper now . it was not the first time. but I’m ready to take long term action to improve the situation.
    I have now around 15.000 pics & something like 15 Go of data. That means I have to use an external drive to store them all. Each team the connection between the external HD & my iBook is lost, not often but can happen, the database is bugged. Of course I gonna have more and more pictures in the future, I took 5.000 Go of pictures back from Australia.
    My question is very general, what is the best way to handle this kind of database size?
    Okay, now I know that I should bake-up the Library6.iPhoto file. What else?
    Could I archive my rolls on CDs (well I should do it anyway) & delete the rolls from the database afterwards? What about the photo album? Is it possible to restore the pictures from the CDs to the hard drive?
    I have read that I should create several libraries. That could be a solution. Is it possible to split the current one? I could import the pictures in a new library, but in this case I will lose the comments field.
    I would really appreciate if you could send me your feedback about handling this size of library. Thanks in advance.

    Arnaud:
    There's is a way you can have your library on your boot drive and keep the "source" files on the external. It's using iPhoto in it's alias mode. There are pluses and minuses to this system. The pluses are that you can have a very large library. I have 18,000+ photos in my alias library. The iPhoto Library folder on my boot drive is only 1.7MB while the source files on my external HD take up 27G.
    The minuses are 1: if the external HD is not mounted then you can only view the thumbnail files and any full sized files that have been edited (the edited version is saved to the iPhoto Library folder). Any operation that requires moving a thumbnail or using the full sized version can't be run. 2: if you delete a photo from your library the "source" file does not get deleted. You'll have to do that via the Finder. 3: When you add new files it's best if you put them in their own folder with the other source folders and then import. If you try to put them in another folder it you'll have to import them manually instead of just dragging the entire new folder into iPhoto to create a new roll.
    I've created some Tutorials to help users convert and use this type of library. It's not for everyone but may hold some pluses for your situation.
    Do you Twango?
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've written an Automator workflow application, iPhoto dB file backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.
    G5 Dual Core 2GHz, 2G RAM, 250G HD; G4 Dual 1Ghz, 1.5G RAM, 80G HD,   Mac OS X (10.4.8)   QT 7.1.3, 22 LCD, 200 & 160G FW HDs, Canon S400, i850 & LIDE 50, Epson R200

  • What is the best way to move all data and apps from an old ipad to a newq ipad air?

    What is the best way to convert (update) from an original ipad to a new ipad air?

    How to Transfer Everything from an Old iPad to New iPad
    http://osxdaily.com/2012/03/16/transfer-old-ipad-to-new-ipad/
    iOS: Transferring information from your current iPhone, iPad, or iPod touch to a new device
    http://support.apple.com/kb/HT2109
    Moving Content to a New iPad
    http://tinyurl.com/qzk2a26
    Transferring your prepaid cellular data account depends on your carrier. AT&T lets you move it yourself when you go to Cellular Data in Settings and log into your account with your previous AT&T user name and password. For iPads with Sprint service, you can set up an account on the new iPad and contact Sprint Customer Care (888-211-4727 and go through the menus) to deactivate the old plan and get credit for unused service. For Verizon, call the company’s customer service number for mobile broadband support (800-786-8419) and ask to have your account transferred.
     Cheers, Tom

  • What is the best way to create videos for my website?

    Hi,
    I'm a public speaking coach in Sydeny Australia.  I've started a blog and want to include videos to my newsletter subscribers.  I do not want to use YouTube, because I want to only share these videos to people on my list.
    What is the best way / program to create good videos for my customers?  I think I might need to upload these videos to my server and only share the links...?  Any suggestions welcome.
    Thank you
    Trevor Ambrose
    http://www.changingtools.com

    Trevor:
    This may be more information than you asked for, but here goes:
    Get a Samsung S10 Video camera (under $400) and a Zoom H4n Professional audio recorder.  Get Adobe Production Premium CS5. The camera shoots 1920 x 1080 square pixel in a better quality than a $6000 Panasonic P2 from 4 years ago. The downside, the audio from the Samsung is poor. That's why I recommend the Zoom H4n. On the Premiere timeline, you simply align the waveform of the video with the higher quality wave from the H4n. You can buy a medium sized fold up greenscreen and place any background behind your talent.  CS5 has Ultra built in, so you can easily key out the green right on the Premiere timeline revealing a nice background of your choice.
    I would design a web page based upon your current website's look and feel that will be a template for your videos. You export your finished video from the Premiere timeline as an f4v. I would recommend 16x9 widescreen and use the Flash preset of "Web Large Widescreen". You can also specify a "Fullscreen" button on the video's controller. The quality is so good that the video will look good even when your client watches it full screen. You import the video into Flash CS5 using the same document dimensions as your video size.  You create a Flash template and "Publish" your Flash movie TO your template. Then all that is necessary is to upload all of the associated Web ready files to your server via FTP or Dreamweaver. This workflow streamlines the process and saves hours of fiddling around.
    As far as the Web page goes that has your video, give the pages an HTML name like; vid0096hvc.html and use the Robots No Follow tag:
    <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
    This is the next best thing to having a client log-in and works in a setting where people aren't paying
    to see the video, but you still don't want them plastered all over the internet.

  • What is the best way to learn to build an app

    What is the best way to go about learning to build an app for the iphone and ipad??

    Have you taken the step yet to obtain a paid developer account?

  • What is the best way to store data for this project?

    hey everyone,
    I have been subscribed to this for a while, not sure if I have ever actually asked anything though.
    I have a project on the go for myself/portfolio
    It is a booking sheet, where by I have a GUI that has a diary system of a day followed by time slots. This also has a date picker that can change the date of the booking sheet
    I want to be able to store mainly strings and ints,
    I need to be able to store, retrieve and on occasion change some data.
    I was looking at using something called JExcelAPI but I cant get that to work at all, I asked for assistance but was refered to here.
    what would be the best way to implement this data storage?
    davyk

    Hey everyone,
    Back again,
    I got this this little snippet of code working but want to ask you guys for a little bit of help on it. if thats ok?
    try
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         String dataSourceName = "mdbTEST";
         String dbURL = "jdbc:odbc:" + dataSourceName;
         Connection con = DriverManager.getConnection(dbURL, "","");
         // try and create a java.sql.Statement so we can run queries
         Statement s = con.createStatement();
         s.execute("create table TEST1234567 ( column_1 char(27), column_2 char(150), column_3 char(150), column_4 char(150), column_5 char(150), column_6 char(150))"); // create a table
         s.execute("insert into TEST1234567 values('"+date+"','"+a+"','"+b+"','"+c+"','"+d+"','"+e+"',)"); // insert some data into the table
         s.execute("select column_7 from TEST1234567"); // select the data from the table
         ResultSet rs = s.getResultSet(); // get any ResultSet that came from our query
         if (rs != null) // if rs == null, then there is no ResultSet to view
                    while ( rs.next() ) // this will step through our data row-by-row
              /* the next line will get the first column in our current row's ResultSet
              as a String ( getString( columnNumber) ) and output it to the screen */
                   System.out.println("Data from column_2: " + rs.getString(1) );
         s.execute("drop table TEST1234567");
         s.close(); // close the Statement to let the database know we're done with it
         con.close(); // close the Connection to let the database know we're done with it
    catch (Exception err)
         System.out.println("ERROR: " + err);
         err.printStackTrace();
    }there are more columns, but i cut this code down.
    my question is:
    I think I want a method with an if statement to see whether the table is created or not, if not create it, but how do I go about this? I have searched the API and google, but my brain is fried.
    Also do I always have to do the try/catch and have the code of Class.forname to Statement s in all methods that want to deal with the table?
    davy

  • What is the best way to configure AE for use as a wireless bridge?

    I am using an AE to provide airtunes to my living room receiver as well as getting internet connection to my living room PC. The way I have it set up is that I am connecting to my existing wireless network (provided by a dlink dir-655) and then plug in the minijack for airtunes and plug in ethernet cable between AE and PC. I don't have a wireless card in the PC so that's why I connect via ethernet cable/AE.
    The problem is that the speed with the AE connected PC when it comes to the web, is quite slow. Many times Youtube just freezes and sometimes never catches back up.
    I've checked speeds with speedtest.net and my speeds fluctuate an extreme amount.
    Is there a way I should configure the AE better to act as a bridge for my ethernet/AE connected PC?
    BTW, I'm only about 25 feet from the dlink wireless router so connection quality should be fine. As both devices support N, I think things should work better!
    any suggestions?
    Thanks

    The newer 802.11n version of the AirPort Express offer an option to configure the base station as a wireless Ethernet bridge. Again, Apple calls this ProxySTA. You configure for a ProxySTA by having the base station join an existing wireless network AND by enabling the "Allow Ethernet Clients" option, located on the Wireless tab within the AirPort Utility.
    My point is that, as a ProxySTA, the Express will NOT extend the wireless range of your D-Link router. Instead, it WILL allow wired clients to connect to its Ethernet port for network/Internet access.
    In the manual setup settings, I see that there is a wireless setting to extend a wireless network and to participate in a WDS network. Would either of these two be better for what I'm trying to accomplish?
    In this scenario, no ... as a WDS would not work because very few non-Apple routers are WDS-compatible. Most likely, your D-Link is not as well ... so your current configuration is the only option for what you are trying to do.
    It seems that this current configuration should be rock solid, but perhaps I'm not using the proper setup.
    The #1 problem with a ProxySTA is that it does not provide the highest level of bandwidth performance. Typically, for the AXn, the best-to-worst performance would be the following configurations: 1) Wired-to-wireless, 2) Wireless-to-wireless (WDS), and 3) Wireless-to-wired (ProxySTA)
    As you can see, the first option would be the best, but it would require that you connect the AXn directly to the D-Link by Ethernet ... which, of course, would tie-up its only Ethernet port so that you could not connect the PC to it as you require.

  • What's the best way to contact adobe for Connect help?

    We have a cloud account and 50 hosts and would like a simple way for all  to access support  city.adobeconnect.com - we cant work out what  help are we paying for and how do we get to it?
    Is there one number we can ring or one email to use? We find it a maze web pages, blogs and forums and then hit an enterprise type interface - but can we use it?
    If anyone has cracked it - please share your system with us.
    Sandra at City Univeirsty London

    Sandra,
    City University London should have purchased through a reseller, and they would be the best to reach back out to regarding your current licensing, what you are trying to do and how best to match them up. I'd be happy to have an email conversation off-forum (jorma_at_realeyesconnect.com), but since I'm a US reseller, I'm not sure how much I could help, other than giving some guidance on what licensing to request from your local reseller.
    You can find the EU partners here: http://www.adobe.com/products/adobeconnect/strategic-partners.displayTab2.html
    I would recommend Collaborate or MeetingOne to start with, if you don't have a current reseller relationship, as they are both good companies to work with.

  • What's the best way to browse keystrokes for ornament fonts?

    I have a number of fonts that are non-alphabet ornaments, such as Monotype Rococo and Adobe Woodtype. I can look at a selection of the ornaments in Font Book, of course, but if I see an ornament I like, I have to guess which key to hit to get it. If it's the first ornament in the top row, of course I know I use capital A, but God help me if it's someplace in the middle of the fourth row. The obvious solution -- opening Keyboard Viewer and choosing the ornament font as the displayed typeface on the keys -- is unavailable due to some technical limitation of the later OS's that I don't understand.
    Character Palette sort of works, but very clunkily. Basically, I pull up the latin alphabet, then go down to choose the ornament font in the Collections window below and then click letter by letter above. I do see the ornament each key gives me. But I'm seeing them one at a time and am giving up the at-a-glance scan of the available ornaments I'd have just by looking at a keyboard.
    If anyone has a better way of browsing keystrokes for this kind of font, I'm very, very interested!
    Thanks.
    Rob

    On re-reading and following your directions, I really should have given you 10 pts. for that answer, Tom, and not 5.  I'd somehow misunderstood the glyph view, thinking it was only a matrix of a certain standard, limited set of symbols, like arrow dingbats and such. I see the way it works now, and it's quite practical.
    Thanks very much.
    Rob

  • What's the best way to serve media for ATV2, Macs, etc?

    I just purchased an Apple TV 2. I really like it and I'm not having any issues, etc. But here's my question. I've got an old iMac G4 (still running like a champ), a brand new iMac, my MacBook, my wife's MacBook, daughter's MacBook Pro, iPhone, iPod touch, etc that are all on my wired/wireless network at any given time. Each of these computers has some movies, music, photos that I want to be able to watch on Apple TV (and the Macs for that matter). I'm interested in some kind of server where I can put all of the movies, music, photos, etc from each computer in 1 place and that's where all of my media is served from. I would not only like to be able to play the media in Apple TV, but also access it via either iMac, or my iPhone, iPod touches, etc (although the last 2 are not as critical and not possible yet till Air Play comes out next month).
    Does anyone have any suggestions of what kind of hardware I should purchase to do this? Basically, I want a jam-up iTunes server that serves everything to each device (sorry, should have worded it this way sooner! . Maybe a MacMini server would do it? Or possibly just a Mac Mini or would Time Capsule do something like this?
    Any input is much appreciated!!

    Patrick Hindman wrote:
    Does anyone have any suggestions of what kind of hardware I should purchase to do this? Basically, I want a jam-up iTunes server that serves everything to each device (sorry, should have worded it this way sooner! . Maybe a MacMini server would do it? Or possibly just a Mac Mini or would Time Capsule do something like this?
    i use an old G4 Mac Mini running 10.5 Leopard, and it's on 24/7
    it runs in headless mode (ie no monitor) and i remotely administer it using remote desktop (or logmein if i'm out the house).
    i have a 1TB WD Mybook hanging off it connected via Firewire and that stores all my itunes content.

  • What's the best way to save clips for general viewing on the web?

    I am new to iMovie, but not to Macs or file formats.
    I have taken some video of kittens at a local cat shelter, hoping to post the clips at the shelter's website in efforts to get the kittens adopted.
    I managed to work through iMovie myself, saving the clips so that the person responsible for the website can post them. I first saved them as .mov files - the web person can view them, but others cannot. (They are all using IBM-compatibles) She is trying to get them to launch from an html page. So I tried saving them as .wmv files, but the little fade-outs I placed at the ends of the clips were truncated... the fade-ins were there, but not the fade-outs.
    The video started out very good quality, and I would like to retain as much of that quality as possible, while of course keeping them small and manageable. But first of all, I need the web person to be able to post them, and then need everyone to be able to view them.
    Am I asking too much, given there are so many ibms out there?

    you ask for a solution of a very common problem: the universal video format...
    due to sheer market power, .avi and .wmv are the most used standards.
    avi is just a container, little supported on Mac; you can choose it as an export option in iM, but it offers just a few compressors (dv/bmp = nice looking, but large, cinepak=small but ugly...)
    for export to .wmv, you need, as mish mentioned, to buy a plug-in from flip4mac, we do read enthusiastic responses on that product... but, Mac-users need additional software to read these files (the free plug-in from flip4mac or the free wmv player for Mac from Microsoft)
    RealPlayer needs costly encoders, and again special players...
    a nice option is .flv, flash-video... needs investment into FlashMX, $$$$ or shareware as VisualHub...
    finally, which works for me and my few PC friends, is usage of mp4... without .mov container; choose "mpeg4" in the expert options... your friend has to open that file once in Windows MediaPlayer manually once and save it again, to get rid of some meta-data "Quicktime needed" (which isn't true)... some PCs open these mp4 by double-click, some PCs demand for QT4Windows.. but, as said, manually (open dialog from within WMP) these mp4s are compatible..
    better pic results are earned with that little free app iSquint, I LOVE to recommend, it has an excellent algorithm...
    sorry, lots of tech blabla... difficult issue...
    helpful?

  • What's the Best Way to Learn Java for Use in LiveCycle?

    Clearly knowing Java scripting would be a boon for flexibility, but I know nothing of Java. Is there an easy dummies manual for using it with LiveCycle?
    I have been relying alot on FormCalc to get things done so far.
    Thanks.

    A very small note. You may see this as being picky, but I hope it will
    help you find the infomation you seek more accurately.
    You are not using Java. Java is a different language - so Googling for
    Java information will just leave you lost. You are using a language
    called JavaScript, always named in full.
    Now, the really confusing thing is that JavaScript in a browser,
    JavaScript in Acrobat and JavaScript in LiveCycle Designer (again,
    sorry, note the full name: there are many other LiveCycle products)
    are all different.
    A key thing is to have the JavaScript Reference. This is not good for
    learning from but it's like having a dictionary: you can't learn a
    language from it, but you will always need to look things up. This
    forum can help send you in the right direction into the documentation.
    Aandi Inston

Maybe you are looking for

  • ArrayList() problems

    Hi! I need a little help getting an ArrayList to work. I am refactoring some of the classes in one of the O'Reilly books for a class assignment. I believe that I cannot get my ArrayList to add elements into itself. I'm not quite sure what I'm doing w

  • Error while opening b2b console

    Hi, i am facing issue with B2b console in SOA. I have a clustered environment and when ever i am trying to access the b2b console, i am getting below error in SOA logs and console is not opening:- <HTTP> <INFVA05189> <WLS_SOA1> <[ACTIVE] ExecuteThrea

  • Can i input a Video or Tv signal into my laptop to burn to DVD?

    I Want to know if i can record out of our sky plus box into my laptop and burn to DVD.

  • Mac OS 5.8 usb external keyboard not recognised

    I ordered a new mac keyboard and hooked it up with my Kensigton Trackball but they are not being recognised by my macbook. any clues? Thanks, Steve

  • Name of tables of fb50 and fb60 and fb70 and fbcj

    hi all i make a query from sq01 and it for all  transactions io make tranaction in fb50 and fb60 and fb70 and fbcj but i need the name of these tables tables of documnt header and line items tables of vendor header and line items tables of customer h