开发者

MVC 2 how to go to url without redirecting?

Is there a way to 开发者_开发技巧go to a url without redirecting to it? Basically I want to call a url from within my application in the background so it can logout a reliant party.

Appreciate the help.


What you are trying to do does not compete us to answer as it's directly related to your own Authentication implementation.

A normal ASP.NET Authentication based in Forms Authentication you will need always to lunch the url from a browser as it is there that relies the Authentication given.

You can give yourself a try by opening your website and log in into it, after that, open other browser brand (not browser window) into your application url... you will see that you also need to login again as the Authentication is hook up into the first browser.

It's Up to you as Application Architect to make this by implementing another way of authentication, normally in this kind'a cases, this happend when consuming web services where you need a authentication code first (given by calling a Login method) and that code is always needed to be appended to the body or header of any call to the system.

This way you can easily remove the authentication code and all procedure calls will fail.

As said, this is not up to us, it's up to you to create the correct Authentication Layer.


from your comment

it's as simple as using WebClient object

 WebClient client = new WebClient ();
 string reply = client.DownloadString (address);


If you wish to transfer to a new url request you can still use

Server.TransferRequest()

The problem with this is that by not using a redirect the browsers address bar will not reflect the fact that you have moved their request to another URL.


To have the client visit a given URL in the background you should either make an AJAX call to it or possibly have an image with an src of your logout url (though you'd have to make sure that you return a FileResult of your image too). This is how most analytics packages call to their relevant urls in the background.

The problem here though is that neither is 100% reliable, turn off javascript or images on your browser and these results fail.

From what you've said I think what you're after is for a user to continue to any of a variety of pages rather than a specific logout page. If this is indeed the case your best solution is in fact a double redirect.

Have your application redirect to your logout url but before hand put the url of the page you want them to go to into tempdata. Then in the actionresult for the logout page you can do your logging out as required and return a redirect to the url from tempdata.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜