ControllerBase
클래스의 SignIn
및 SignOut
메서드의 용도는 무엇입니까 (Controller
클래스에 의해 상속됩니다). ControllerBase의 SignIn 및 SignOut 메소드의 목적은 무엇입니까?
이러한 두 가지 방법은
SignInResult
및 각각
SignOutResult
(
IActionResult
를 구현)의 기본 클래스에서 상속하는
ActionResult
모두를 리턴한다.
SignInResult
과 SignOutResult
의 소스 코드를 보면 각각 HttpContext.Authentication.SignInAsync()
과 HttpContext.Authentication.SignOutAsync()
이라고 부릅니다.
그러나 나는이 두 가지 방법을 어디에서도 사용하지 못했습니다. AccountController
을 보면 위에서 언급 한 방법이 아닌 ApplicationSignInManager
을 사용하여 로그인하고 로그 아웃합니다.
이들은 ActionResult
이기 때문에 컨트롤러의 액션 반환 값으로 사용됩니다.
예를 들어 이런 식으로 뭔가 같은 :
public IActionResult SignIn()
{
return SignIn(User, "Automatic");
}
그러나이 분명히 않습니다 아무것도. 그것은 사용자 로그인하지 않는 것, 그리고 그것은 사용자에게 아무것도 반환하지 않는 것 같습니다. 어떤 매개 변수를 전달해야할지 모르겠지만 컨트롤러에서 HttpContext
에서 User
을 찾았습니다.
그래서이 두 가지 방법의 목적은 무엇이며 어떻게 사용 되려고합니까?
알 수 있습니다. 왜 그것이 아무것도 반환하지 않는지 아십니까? 또는 그것을 사용하는 방법? 지정해야 할 매개 변수 등 – Fred
솔직히 묻는다면 그것은 당신을위한 것이 아닙니다. 이것은 의미가 아니며, 완전히 이해하지 못하고 로그인 및 인증 미들웨어가 함께 멈추는 방법을 사용하지 않는 한 흥미로운 보안 인터페이스 지점 중 하나입니다. 컨텍스트를 직접 사용하는 ID없이 쿠키 미들웨어를 사용하는 방법에 대한 문서가 있지만 https://docs.asp.net/en/latest/security/authentication/cookie.html을 참조하십시오.하지만 대부분의 사람들에게는 끝내고 싶다. – blowdart