Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 在asp.net MVC 3中使用WIF时,我在哪里定义STS注销端点?_Asp.net Mvc 3_Web Config_Wif_Ws Federation - Fatal编程技术网

Asp.net mvc 3 在asp.net MVC 3中使用WIF时,我在哪里定义STS注销端点?

Asp.net mvc 3 在asp.net MVC 3中使用WIF时,我在哪里定义STS注销端点?,asp.net-mvc-3,web-config,wif,ws-federation,Asp.net Mvc 3,Web Config,Wif,Ws Federation,我看到FedMetadata文档可以提供注销通知和订阅端点,web.config为登录请求定义了颁发者url,但我找不到WIF知道在哪里发送注销请求。如果我使用的STS为登录和注销请求定义了不同的端点,我如何在代码中访问该端点或在web.config中设置该端点?默认情况下,WIF将重定向到用于注销的同一STS端点,与用于登录的STS端点相同。要指向其他端点,您需要使用FederatedSignOut覆盖注销操作: WSFederationAuthenticationModule authMod

我看到FedMetadata文档可以提供注销通知和订阅端点,web.config为登录请求定义了颁发者url,但我找不到WIF知道在哪里发送注销请求。如果我使用的STS为登录和注销请求定义了不同的端点,我如何在代码中访问该端点或在web.config中设置该端点?

默认情况下,WIF将重定向到用于注销的同一STS端点,与用于登录的STS端点相同。要指向其他端点,您需要使用
FederatedSignOut
覆盖注销操作:

WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;

string signoutEndpoint = "http://STS/yourendpoint/";  // This can be stored in your configuration app settings
string signoutUrl = WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(signoutEndpoint, authModule.Realm, null);

WSFederationAuthenticationModule.FederatedSignOut(new Uri(signoutUrl), new Uri(currentPage));

希望这能有所帮助。

这就是我需要知道的。我已经将端点放在配置中,但我想确保没有丢失一个接收url的WIF参数。