MVC asp.net을 사용하여 인증/권한 부여를 수행하는 방법과 관련하여 몇 가지 질문이 있습니다.WCF 인증 서비스를 사용하여 C# MVC 인증 몇 가지 질문
각 요청마다 사용자 이름과 암호를 전달하여 사용자를 인증/권한 부여하는 WCF 서비스가 있습니다 (HttpModule을 사용하여 유효성을 검사하고 WCF에서 Authenticating 이벤트를 잡음). 해당 HttpModule 내의 aspnet 멤버쉽을 사용하여 사용자의 유효성을 검사하고 또한 Principal을 설정하여 내 서비스에서 역할을 수행 할 수 있습니다 (이러한 서비스는 우리의 다양한 클라이언트와 공유되므로이 작동 방식을 유지해야합니다).
이제 이러한 서비스를 호출 할 수있는 MVC 프로젝트를 만들고 싶지만 세션에 사용자 이름과 암호를 저장하고 각 요청에 전달하고 싶지 않습니다.
누구나 나를 도와 줄 수 있다면 몇 가지 차이가있는 시나리오가 있습니다!
나는 WCF 서비스 계층에서 WCF가 제공하는 AuthenticationService를 켭니다.
내 MVC 프로젝트에서 폼 인증을 추가하고 authorize 특성을 사용하여 내 메서드를 꾸미면 승인되지 않은 경우 로그인 페이지로 리디렉션됩니다.
사용자가 사용자 이름과 암호를 제공하면 로그인 페이지에서 WCF AuthenticationService를 호출하여 사용자에게 로그인합니다. 그런 다음 여기에서 인증 토큰을 검색하여 내 세션에 저장합니다.
다음 번에 내 서비스 계층에서 WCF 서비스를 호출하려고 할 때이 토큰을 검색하여 요청 헤더에 추가합니다. 서비스 측면에 내 사용자의 유효성을 검사하는 HttpModule을에
- , 나는 검사의 경우 유효한 토큰 또는의 유효한 사용자 이름이나 암호가 (이 웹 서비스를 호출하는 다른 사람들을 용이하게하기)합니다. 이 경우,이 요청을 수락하고 정확한 데이터를 반환
..
도움이 될 것입니다. :/ 미리 감사드립니다! Neil
정말 이상한 접근 방식입니다. 각 단일 요청에 사용자 이름/암호를 전달하는 것은 번거롭고 융통성이 부족합니다. 당신이 당신의 접근 방식을 충족 시키려고하는 중요한 요구 사항이 있습니까 아니면 다른 방법으로 이것을 수행하는 방법을 모른다면? –
우리가 제공하는 서비스 중 일부는 토큰 기반 인증을 처리 할 수 없을 것이라고 생각되는 SAP 기반 시스템 용입니다. 이것이 내가 함께 간 이유 였어. 나는 그다지 나쁜 생각이 아니라고 생각했다. 모든 REST 기반 서비스가 비 상태가 아닌가? –
이것이 나쁜 경우 다른 해결책을 제시 할 수 있습니까? WCF에 대한 많은 지식이 없으면 매우 어렵습니다. –