In AEM, how do I proetect asset from anonymous access? - aem

This is what I want to do, in AEM, there are some sensitive PDFs links on the page. So when people click these pdf links, I want to let the user to login first. After that, they can view these PDFs assets. Right now, all the PDFs are in the DAM. I may need to override some OTB pages that load the assets, but I just can't figure out which page I should override...
Can someone shed some light on this?
Thank you

You need to configure privileges of users on assets folder, or specific asset folder. Read more about users preveleges here

The AEM term is CUG or "Closed User Group" for resources that require authentication to access. Anonymous users requesting a resource in a CUG will be redirected to the login form (which you can also modify).
https://docs.adobe.com/docs/en/cq/5-6-1/howto/create_apply_cug.html
https://docs.adobe.com/docs/en/aem/6-1/administer/security/cug.html
(depending on which version you are working on).

Related

Sharing my dashboard/workbook with others without sharing my data in Tableau Online/Public?

I have purchased Tableau Online to share my workbooks with a specific group of people without providing an option to download the actual data I used to create them. But I figured that other users would also need a license to view/edit my workbooks..
My initial plan was to share my published workbooks and put them on my website so that others (that I specify) can VIEW the workbook without offering them a privilege of downloading the data. Any suggestion will be greatly appreciated...
When you publish your workbook to online specify permissions so that users
- cannot download the workbook
- cannot edit the workbook
- cannot view the underlying data
If you give your audience accounts with only viewing permission and you have those restricted permissions for workbooks, then you can simply send your audience links and they will see the visualizations in their browser without having to download workbooks. Even if they did download the workbooks, their accounts would be prevented from looking any deeper into the data than your workbooks show.
Take a look at the Tableau JavaScript API. Once you have your workbooks hosted with Tableau Online you can display them using the API on your own website. Then just share the link to those you want to have viewing rights.
This will be public to whoever has the link though unless you set the location up to require login.
http://www.tableau.com/new-features/javascript-api
http://onlinehelp.tableau.com/current/pro/online/windows/en-us/publish_workbooks_howto.html
http://onlinehelp.tableau.com/current/pro/online/windows/en-us/Img/publish9.png
When you see this window, click on a User/group, and click Edit. Tableau has default roles (Viewer, Interactor, etc.). You can modify the Interactor role so that it becomes a Custom role so that someone can't download your workbook, etc.
http://onlinehelp.tableau.com/current/pro/online/mac/en-us/publish_workbooks_permissions_add.html
See here for more details on permissions.

Easiest way to create a Facebook application

I need to create a simple tab page with custom content inside. How on earth I can get there the shortest and easiest way? Maybe I want to track the users who liked the page, but that's not compulsory. I just want to create a tab-page, which can integrate into a page and shows some custom content.
I have created an application at Facebook, the thing is, I don't know where to head from here, to include some content in the innards of that page...
I guess you want a static FBML tab. It is hard to find on Facebook, however it is possible to find a link like this. If you are logged in to Facebook then it should take you to a page where you can add a static FBML tab to one of the pages you administer. After that you can customize the tab content from page settings.
A page tab or any application on facebook can be and usualy is considered a normal website. You'll need the same things that you would if you wanted to create a website. You'll need a server, some storage space, possible a database (if you want to store date about/for your users).
There are ways to get started for free - lots of free hosting companies out there. You can start your search here
Facebook also has links to [develop applications in a cloud system].
There are different types of facebook apps, but one of them is just a canevas app.
So you ca include an external web page in a facebook page. It's pretty similar to a frame i think.
You can find inforations here: https://developers.facebook.com/docs/guides/canvas/#canvas

Is it possible to enforce initial configuration of a page app?

I'm attempting to develop my first Facebook app that is designed to allow clients of our website to sell tickets to their events from their Facebook page as well as from our website. So when the administrator of a Facebook page adds our app as a page tab, I need to be able to find out who they are so I can load the relevant event data. There also needs to be additional include/exclude configurations and various other options, which will affect the behaviour of the app.
So my question is how is this situation best handled? When playing around with a basic sandboxed app, I seem to be able to just add the app directly to a page; there is no prompt for configuration, and I can't see any way of defining custom properties.
Is the 'edit_url' property the only way to achieve this? If so, is there a way of automatically directing the page admin to this link upon initial use?
Decoding the signed request recieved in your page will give you more insight.
From this you can retrieve page admins' UID's.
You'll need to manage the rest on your side...
In order to get the user id the user will have to grant your application basic permissions.
I'm currently doing a somewhat similar app and, just like Lix said, I used the signed_request variable to detect the page where the tab is installed. Then, based on the page's ID, I retrieve the proper content.
To also give your users an admin page, add a Page Tab Edit URL in your app configuration where you can redirect your users to a custom panel where they can edit their app.

How do I create a Facebook application for use only on page tabs?

I'm currently creating a very basic Facebook application and I've run into a bit of a roadblock, so any help would be appreciated.
My application is as follows: I want to have the application pull records from my database that the user has added to my site off of Facebook and display them in a tab on one of their fan pages. Everything the user could add or edit will be done on my site (not on/through Facebook) so all I need to do is have my application check which page is requesting and display their records. I imagine the install will go something like this: user signs up on my site, user adds app to their page, user links their account and fan page (thinking of the best way to do this), user adds records.
The problem I'm running into is there's barely any information on the new Facebook PHP-SDK (does not use the require_login() method) and I'm not really sure how to start. Again, the only functionality I need on the Facebook end is for them to be able to add my application to their fan page and be able to distinguish between which page is requesting my app.
Does anyone have any resources for creating a basic application with the new SDK? Facebook's dev section is absolutely no help for beginners and I'm pulling my hair out despite a pretty solid grounding in backend development.
Thanks!
tab apps have some limitations comparing to regular fb apps. You can read about those here.
How to make a tab - register a facebook app, fill out "Tab Name" and "Tab URL" fields in the profiles settings (you might need to fill out "canvas" settings first).
Now all tabs will be loaded from "Tab URL" on your server. How to find out who is tab owner - check for fb_sig_profile_user request parameter in your tab page handler, which contains owner's user id.
This should get you started.

How is a Facebook user's language / internationalization preference stored?

I'm developing a Facebook application for a business page. The application can only be accessed as a tab, meaning there is no box or direct access intended.
I've done my share of searching and even though I hate asking for help when I know the information I'm after must be there somewhere, I've reached
the point of exhaustion and beg for a solution.
I've managed to work with my application the way it was intended, it retrieves some data from my databases and users can view that information without
a problem. The issue here is that I'm unable to figure out a way of getting information from the user who is viewing that tab. I don't want any private stuff,
in fact, the only thing I need is to know in which language he/she is viewing FB so I can grab content in that language instead of the default.
I thought that maybe FB stored that information on a cookie, or a session variable, who knows. I'm sure I seen something like en_GB on a cookie from
FB once, but maybe it was a mere delusion from sleep deprivation.
I'm sure there is a pretty solution developed already and I just can't wait to learn about it!
Thank you for you time :)
To translate the application, you should be using facebook translations.
All the text in your app should be inside and other intl tags and the translation for these should be available on facebook translations app. Then facebook shows the translated text to the user based on their locale.
Facebook Translations app: http://www.facebook.com/translations/
You can see the strings to be translated here.
You also have to enable you applications for translations in the Translation app admin panel.
More about translations here : http://wiki.developers.facebook.com/index.php/Internationalization
Here's a method that describes getting the current user's language in a canvas frame even when the user hasn't logged in: http://fbdevwiki.com/wiki/Locales#Getting_the_User.27s_Locale . I suspect that it should also work in a page tab iframe.