2016-01-06 77 views
0

我有一個實現單點登錄(SSO)的應用程序。要登錄的網址是(https://sso.myced.com/SSOLogin.aspx?ReturnUrl=http://localhost:14877/Home)。 returnurl將成爲我正在構建的應用程序的URL(localhost:14877/Home)。我有[授權]屬性我控制器上,重定向到另一個網站以進行身份​​驗證(SSO)... MVC 5

 [Authorize] 
    public class HomeController : Controller 

,並在用戶試圖訪問我的應用程序,他們將被重定向到SSO網址,登錄名和重定向回我的應用程序。

默認情況下,MVC重定向到帳戶控制器和登錄操作。 我如何告訴MVC我想去我的自定義網址,而不是「〜/帳戶/登錄」?

+0

你從@Stralos正確的答案,但我很好奇......一旦用戶在myced.com認證,您的應用程序如何知道讓用戶進入是可以的? –

+0

它被照顧在ssologin項目..我得到這個工作 – BoundForGlory

回答

2

寫一個自定義的授權屬性,並用它來代替授權。事情是這樣的:

public class CustomAuthorize : AuthorizeAttribute 
     { 
      protected override bool AuthorizeCore(HttpContextBase httpContext) 
      { 
       return /*Chech if user is loged in*/ 
      } 

      protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) 
      { 
       filterContext.HttpContext.Response.Redirect(URL TO REDIRECT); 
      } 
    } 

然後使用一個控制器上:

[CustomAuthorize ] 
public class HomeController : Controller 
+0

感謝您的答覆..我正在研究這個更早,但有點困惑。我會進一步研究這種方法 – BoundForGlory

+0

@如果您對我的回答滿意,請不要忘記對它進行投票或標記。如果沒有,你可以自由添加我失蹤的東西。 – Stralos

+0

對不起......我剛剛做到了 – BoundForGlory

相關問題