싱글 사인온 (single sign on) 관리자가 생성 한 URL을 통해 사용되는 사이트 엔트리 컨트롤러가 있습니다. SSO 관리자는 서명하려고하는 시스템의 URL에 식별 매개 변수를 작업 매개 변수로 추가합니다.MVC에서 쿼리 문자열을 수동으로 구문 분석 할 필요없이 url에서 "action"이라는 매개 변수를 추출하는 방법은 무엇입니까?
http://mysite/Entry/SingleSignOn?action=123456789ABCDEFG
난 그냥 더 나은 경로를 설정할 필요가 있다고 생각,하지만 난 아직 작동시킬 수되지 않은 : 그래서 URL이 SSO 관리자에 의해 생성되는
는 것 같습니다. 난 그냥 쿼리 문자열을 열 분할 할 수 있습니다 알고
public ActionResult SingleSignOn(string action)
{
// action returns "SingleSignOn"
var querystring = Request.Url.Query; //returns "?action=123456789ABCDEFG"
return RedirectToAction("Index");
}
하지만 것 : 나는 표준 MVC 바인딩을 통해 URL에서 작업을 얻을 때, 그것은 나에게 액션의 이름을주고,하지 해시 내가 필요 가능한 한 선호하지 마라. 대단히 복잡한 문제는 아니지만 올바른 경로를 찾지 못했습니다.
MVC에 내장 된 라우팅은 쿼리 문자열을 전혀 사용하지 않습니다. 그래서 당신이 달성하고자하는 것은 분명하지 않습니다. SSO가 모든 요청을 다시'/ Entry/SingleSignOn'로 보내면, 그 액션 메소드에서 쿼리 문자열을 파싱해야합니다. 사이트의 여러 위치로 요청을 보낼 수있는 경우 작업 필터를 사용하여 리디렉션을 수행하는 것이 좋습니다. 로그인 후 리디렉션을하는 것은 드문 일이 아니며 라우팅을 사용해야하는 유일한 이유는 SSO에서 보낸 브라우저의 URL을 유지하는 것입니다. – NightOwl888