문제

방금 통합 한 ASP.NET MVC 응용 프로그램이 있습니다. RPX 타사 연합 정체성 시스템. 통합은 잘 작동하지만 ASP.NET 수준에서 무엇을 해야하는지 주위에 머리를 감싸는 데 어려움이 있습니다.

신원은 외부 적으로 처리되므로 내 앱에서 비밀번호가 필요하지 않습니다. 사용자의 비밀번호를받지 못합니다. 그러나 ASP.NET 멤버십 제공 업체는 사용자를 생성하고 사용자에게 로그인하는 등을 위해 암호를 전달해야합니다.

나는 사용을 고려하고있다 new Guid() 생성 시간에는 멤버십 제공 업체를 통해 사용자에게 서명하기 전에 사용자의 비밀번호를 검색하기 위해 데이터베이스를 통화해야합니다. 각 사용자에 대해 동일한 비밀번호를 사용할 수 있도록 미리 알려 지지만 사용자의 데이터를 불안하게 만들기가 우려됩니다.

다른 사이트 가이 문제를 어떻게 처리하는지 듣고 싶습니다.

또한 참조하십시오 내 다른 질문, 그러한 앱의 멤버십 제공 업체에 관한.

도움이 되었습니까?

해결책

그러나 나는 이것이 내 사용자의 데이터를 불안하게 만들 것이라고 우려합니다.

사용자 이름과 비밀번호를 사용하여 데이터베이스에 직접 인증 할 수 없는지 확인하여 시작하십시오. 실제 인증을 수행하기 위해 RPX를 사용하고있는이 경우에 이미 그렇다고 생각합니다. 사용자의 신원을 확립했습니다.

그런 다음 비밀이 아니기 때문에 비밀이 아닌 비밀번호가 중요하지 않습니다. 누군가의 비밀번호가 귀하의 편에있는 것을 해결할 수 있다면 해당 정보를 사용하여 로그인 할 수 없기 때문에 갑자기 데이터를 손상시키지 않습니다. 사용자의 비밀은 귀하가 아닌 타사 제공 업체가 관리합니다.

따라서 가장 편리한 것을 저장할 수 있습니다 (예 : 잘 알려진 더미 값) - 멤버십 제공 업체에서 암호 암호화를 끄고 서버에서 일부주기를 되 찾을 수 있습니다. 다른 사람의 신원을 확인하는 데 사용되지 않는 암호화 / 해싱 값은 없습니다.

다른 팁

그렇다면 ASP.NET 멤버십을 사용하는 이유는 무엇입니까? 그것은 당신이하고있는 일이 제 3 자 인증 인 일에 적합하지 않습니다. 어쩌면 당신은 그것을 볼 수 있습니다 dotnetopenid 프로젝트 그리고 MVC를 위해 수정할 수있는 고전적인 ASP.NET 사이트 예제가있는 예? 그들은 가지고 있습니다 여기 위키 아마도 Google dotnetopenid MVC?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top