I am programming a silvelight application that is a Ftp manager like file zila.
this is my application image.
My left application part use Directory.Exist('x') Method that when my application start because it does not have evaluated permission, my left part application does not work.
I search the web and I found that I must sign my application and change a registery key but my users do ot understand it and can not do it.
Related
I have two applications in my workspace, APP 1 and APP 2.
In my case, user will log in to APP 1. from there, i put a menu(or a link) to APP 2. however APP 2 requires authentication. So it will take me to a login page. i would like to eliminate that and get the current user's credentials on APP 1 and login to APP 2.
i'm looking for a simple straightforward method (but need to consider security) to login to APP 2.
what i could think of is apex_collection..i could store credentials n use it to create a login process for APP 2. however apex_collection is session based. eventhough i've set session for APP 2, it still wont read values from my apex_collection.
Does anyone have a suggestion or a solution?
All you need to do is use the same authentication scheme in both applications and set the cookie name attribute to the same value in both authentication schemes like this:
APEX will then use the same session across the two applications and the user will not have to log in again when they navigate from one to the other, provided of course that you pass the SESSION_ID in the URL.
A Few Comments on Default APEX Workspace Authentication Security
It may also be helpful to expand on an explanation of why the solution posted by #TonyAndrews works.
For any Apex Apps within the same workspace, if they use the default "APEX Application Authentication" method, they will consult the same authentication user list... so USER1 and its password is a valid login for any of the "neighboring" applications...
This may be a concern if you are hosting different clients or users that should not be intermingling with the other applications. You can also define user GROUPS in the same place as you set up each workspace user. Each application can have its own security filter that permits access by membership of BOTH user/password authentication AND membership in the appropriate access group.
Sharing workspaces may also be a problem because of the unique user name restriction of a single workspace. You can get around that by:
Defining different name-spaces for each application:
Email addresses are good: "someuser#sampledomain.com"
An app id prefix such as: SHOP_EDNA, SHOP_GARRETT, TC_KAREN, TC_MARLOWE, MY_BORIS etc.
Different name styles: first name only, first name + last initial, etc.
To keep things simple, you can always just spin up a brand new workspace: a warning however is that common user names like `ADMIN` are NOT the same between separate workspaces. There shouldn't be much concern however because apps or workspace users may have the same or different schema access privileges to the database back end.
A Word of Caution to Administrators and Developers:
When you go live with an application or multiple applications on a user-facing system, keep in mind the deployment destination (i.e., the workspace) and what else is sharing that workspace. There are some real situations where apps are not intended to be shared or accessed by other "inside" users. Be sure to read up and understand the security constraints and methods of using Default Apex Authentication security so that it's more than luck that protects your own production/live deployed applications.
I do have the similar requirement, linking from one application page to another.
Tried the above mentioned solution, but still asking to login to second application. My Apex ver is 5.0.3 and trying in same workspace.
Created new authentication schemes for each app with same cookie name and set them as current authentication. Scheme type are Application express accounts.
Setting the link as below from first app page to second.
href="http://servername:port/apex/f?p=224:2:&APP_SESSION"
Could anyone provide a solution, please?
Just an update on this.
I am currently using v21.2 and this is how I do it:
In both applications, go to Shared Components > Authentication Schemes > (Select your Auth Scheme);
Scroll down to Session Sharing and select 'Workspace Sharing';
In one of the applications (source), create a link (as a Navigation Bar List entry, for example) like f?p=173:1:&SESSION., where 173 is the target application ID and 1 is the target page.
After some research, I've found out that this feature (Session Sharing Type) is available since v18 of APEX.
i m sunil i have created a application that is written in visual studio in C language that i installed in my system , so it run as service .. but i want to put restriction to stop the service by popup a UI credential box , to stop seervice you need to fill the user name and password only then u can stop the services.. but the box is comming in back ground . so i am not able to see that popup box.i am using windows API ..CredUIPromptForCredentials().
can u please suggest that how to take that UI popUP in front so that user could able to pass the credentials. or any other API.
Thanks,
Sunil
you can check in which session the popup is running from the Taskbar. If it's in session 0 (the default session for system services)then you won't be able to see it. To get the UI in front you need run the popup with current desktop's loggedon user's session.
Read this article how you can invoke the process as user http://odetocode.com/blogs/scott/archive/2004/10/29/createprocessasuser.aspx
The code is in c# but you'll get the idea how it works.
I have a problem on my silverlight application.
I login in my application using my ID (assume x) (using Internet explore 8),
so assume i can see some reports which is releated to my ID.
Without closing the above browser in another Internet explore 8 in the same machine i am login into the
same application using another ID(assume y), so now i can see 2nd set of reports which is related to this ID.
Now If i refresh the report page of the first browser which is got logged with the ID (x), I am seeing the (y)
userid's report not the earlier.
How to fix this?
Thanks
In internet explorer choose "New Session" from the "File" menu. This will create a new IExplore.exe process tree which manages its own set of session level cookies. This should allow you to maintain two separate logins at the same time.
Sounds like you are using the ASP membership provider... if so that is limited to 1 session per browser/user on the same PC (same limitation if it was a web app).
Why are you trying to login 2 different users from the same machine? If it is for testing you can probably open two different browsers (IE and FireFox?) and get two session that way.
Update (based on comments below):
Option A. As you need multiple user logins on the same machine in the same browser type, you cannot use the asp membership provider and will have to replace that provider with a Silverlight-specific credential/login system.
Option B. The alternative is to change your application to allow selection of client from within the app (this would be my choice as you are misusing users as a convenience).
We're having the following situation:
a web site requires the user to log on (let's call the site NPP)
after the user logon, some links on the site open in new browser windows (let's call the links ECR-s)
an application uses a WebBrowser control to browse the site; if a logon is needed, the application simulates the user logon
if the user clicks on an ECR link, a new browser window opens, but instead of displaying the content, it displays the site login page.
How can we make the browser automatically login to the NPP site in that scenario?
The answer came from a guy on MSDN forums (RudeDog2).
I've used the information from
http://support.microsoft.com/kb/815714 and http://blogs.artinsoft.net/mrojas/archive/2008/09/18/newwindow2-events-in-the-c-webbrowsercontrol.aspx to implement the solution: now the new browser windows open in the same process and, consequently, they inherit the in-memory session cookie.
One caveat, though: the application must be built x86 (and not 'Any CPU'); if built 'Any CPU', either PDF files are not open in-browser, either 'invalid image' exceptions are raised.
I'm building a silverlight applicate thats quite big, it also requires users to login. I'm trying to work how to show a login form (username & password) before the rest of the silverlight application is loaded. So the user will see username & password which they can start entering there information, while the rest of the application is downloaded. Can anyone provide info or examples of how to achieve this ?
The best way to do this is with the Javascript API for Silverlight because you can't use managed code until the XAP file has loaded. Here's the example from Microsoft: http://msdn.microsoft.com/en-us/library/cc903962(VS.95).aspx
As gabe points out you might be able to use the Javascript API to display a login screen as part of the standard splash screen operation in Silverlight. However I wouldn't recommend it. What happens if the user doesn't enter their details before the XAP has loaded?
I must admit I wonder whether this is really necessary. If you configure cache headers correctly on the XAP then subsequent visits to your application will should not have any significant download time.
Additionally if you use application library caching you can reduce the size of the XAP so that updates to the XAP will result in smaller downloads for existing clients.
Hence only first time users (or users that have cleared their cache or are returning after a long period) will see the splash screen for any extended period of time.