2009-06-14 1 views
0

난 그냥 RPX 타사 연합 ID 시스템을 통합 한 ASP.NET MVC 응용 프로그램이 있습니다. 통합 작업은 정상적으로 작동하지만 ASP.NET 수준에서 수행 할 작업을 둘러싼 어려움을 겪고 있습니다.타사 인증을 사용하는 응용 프로그램의 암호는 무엇입니까?

ID가 외부 적으로 처리되기 때문에 앱에 비밀번호가 필요하지 않습니다. 사용자의 비밀번호와 신원 정보를받지 못했습니다. 그러나 ASP.NET 회원 공급자 물건은 사용자를 생성하고 사용자를 로그인하기 위해 패스워드를 전달해야합니다.

저는 작성시 new Guid()을 사용할 것을 고려해 왔지만 데이터베이스를 사용하여 멤버십 공급자를 통해 사용자를 로그인 할 수 있습니다. 각 사용자마다 동일한 비밀번호를 사용하여 사전에 알 수 있지만 내 사용자의 데이터가 안전하지 않을까 우려됩니다.

다른 사이트에서이 문제를 어떻게 처리하는지 알고 싶습니다 (예 : StackOverflow).

[또한 응용 프로그램에 대한 멤버 자격 공급자에 대해 my other question를 참조하십시오.]

답변

1

하지만 내 사용자의 데이터가 안전하지 않을까 우려됩니다.

아무도 사용자 이름과 암호를 사용하여 데이터베이스에 대해 직접 인증 할 수 없도록하기 시작하십시오. 실제 인증을 수행하기 위해 RPX를 사용하고 있으며 ASP.NET 회원 정보를 이미 설정 한 경우

비밀이 아니기 때문에 옆에 저장된 비밀번호가 중요하지 않습니다. 누군가의 비밀번호가 당신 편이라면 해결할 수 있습니다. 갑자기 데이터를 손상시키지 않습니다. 그 정보. 사용자의 비밀은 귀하가 아니라 타사 제공자가 관리합니다.

잘 알려진 것 (예 : 잘 알려진 더미 값)을 저장할 수도 있습니다. 서버에서주기를 되찾기 위해 멤버십 공급자에서도 암호 암호화를 해제 할 수 있습니다. 다른 사람의 신원을 확인하는 데 사용되지 않는 암호화/해시 값은 없습니다.

1

를 사용하는 이유 asp.net 회원을 다음? 그것은 제 3 자 인증 인 당신이하고있는 일에 실제로 들어 맞지 않습니다. 어쩌면 당신은 dotnetopenid project과 예제를 볼 수 있습니다. mvc에 대해 수정할 수있는 고전적인 asp.net 사이트 예제가 있습니까? 그들은 wiki here 어쩌면 google dotnetopenid mvc가 있습니까?

+0

나는 이미 DotNetOpenID를 보았습니다. MVC 샘플도 v3.1에 있습니다. 그러나 인증 만 처리하며 권한 부여는 처리하지 않습니다. ASP.NET 멤버십은 권한 부여 시스템, 특히 MVC의 [Authorize] 특성의 기초가되는 것으로 보입니다. 내가 그것을 피할 수 있다면 나는 내 자신의 인증 시스템을 구현하고 싶지 않다. – alastairs