2013-07-14 13 views
19

저는 현재 9 월경에 새로운 ASP.NET MVC 5 프로젝트를 만들고 싶습니다. 회원 시스템을 선택해야하지만, 현재 어느 방향으로해야하는지 혼란 스럽습니다. 현재 SimpleMembership은 잘 작동하지만 곧 ASP.NET Identity와 호환되지 않습니다. 반면에 ASP.NET Identity는 전혀 새로운 기능으로 언제든지 변경 될 수 있습니다. 마침내 문자열 기반 ID가 여기에 사용 된 것으로 보입니다. SimpleMembership이 지원하는 정수 기반 ID에 비해 매우 불필요한 오버 헤드처럼 보입니다. 내가 선택할 수있는 좋은 미래의 증거 방법이 있습니까?ASP.NET ID

+0

지속성 메커니즘을보다 쉽게 ​​스왑 아웃 할 수 있도록 문자열 형식의 guid가 실제 guid 대신 사용됩니다 (예 : 지원하지 않는 nosql 솔루션을 사용하려는 경우). guids. id 열은 색인화되며 색인화 된 int 열이 더 잘 수행되지만 차이는 대부분의 응용 프로그램에서 무시할 수 있습니다. – joelmdev

+0

GUID가 다음과 같은 이유로 http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502를 참조하십시오. 익숙한. – RickAndMSFT

답변

10

SimpleMembership도 사용하지 않는 것이 좋습니다.

public class MyUser : IUser { 
    [Key] 
    int UserID { get; set; } 

    string IUser.Id { get { return UserId.ToString(); } } 
} 
8

내 생각에 asp.net MVC 5로 프로젝트를 시작한다면 그것은 새로운 멤버십 시스템을 사용해야한다. http://owin.org/ 표준과 잘 통합되어 있기 때문이다.

+1

또한 우리는 더 많은 자습서를 추가하고 있으며 이에 대한 많은 지원이 있습니다. – RickAndMSFT

1

나는 정체성의 최신 버전을 사용하거나 자신의 계정을 만들 것 중 하나 : 당신은 아직도 당신의 데이터베이스 개체에 연결하면 그냥 즉, toString()를에 ID를 필요, 데이터베이스에 INT ID를 사용할 수 있습니다 시스템을 완전히. ASP.NET ID는 이제 ID에 대해 GUID (NVARCHAR (128) - db에 있음)를 사용하지만 원할 경우 여전히 int를 사용할 수 있습니다. 나는 사람들이 Id 1.0을 여전히 사용하고 있다는 것을 안다. 나는 이드에게 int를 사용했다고 생각한다.

어느 쪽이든 Id는 int 또는 guid와 충돌하지 않아야합니다. 위의 게시물은 당신이 그냥 Id.ToString 수 있다고 말했다();

당신이 취하는 경로는 무엇이든 차이가별로 없다고 생각합니다.

0

ASP.NET은 꽤 좋은 프레임 워크이며 응용 프로그램에 거의 모든 필수 기능을 제공한다고 생각합니다. 또한 선택에 따라 ID 열의 유형을 선택할 수있는 가능성을 제공합니다. ASP.NET ID에 대한 기본 래퍼를 만들고 쉽게 사용할 수 있도록 누겟을 게시했습니다. github