2

인트라넷 응용 프로그램을 만들 때 사용할 멤버쉽을 결정하는 데 도움이 필요합니다.인트라넷 응용 프로그램의 SimpleMembership

SimpleMembership은 ASP.NET 인증 및 인증의 미래라고하지만 웹 보안 항목과 웹 페이지 접두사가있는 테이블이 있습니다. 인트라넷 응용 프로그램에서 simplemembership을 사용하는 올바른 방법은입니까?

2 년 전의 프로젝트에서 저는 SqlMembership을 기반으로 한 나만의 RoleProvider를 작성했으며 영역 + 컨트롤러 + 동작별로 권한을 부여하여 정상적으로 작동했습니다. 그러나 나는이 일이 단순한 멤버쉽에서 일어나는 것을 볼 수 없으며 인터넷에서 나를 괴롭히는 기사를 찾을 수 없다.

또한 사용자와 사람을 연결하고 코드 우선 항목을 제거하고 simplemembership 테이블을 EDMX에 추가해야합니다. 그래도 작동하지만 web.config에는 두 개의 연결 문자열이 필요합니다.

회원 공급자는 프로젝트의 승인 및 인증 걱정을 없애고 개발 속도를 높이는 데 큰 도움이된다고 생각하지만 '오래된 방법'(이미 알고있는 방식)을 구현하고 싶지 않고 앞으로 나아가고 싶습니다. "새로운 길"에.

유니버설 공급자가 기존 ASP.NET 멤버 자격 공급자가 경우에 사용하고, 당신이 사용하려는 : 반면에

는, 범용 공급자는 here을 언급 한 바와 같이 오래된 기존 공급 업체에 사용할 수 있다고합니다 다른 SQL Server 데이터베이스 백엔드 (SQL Server 제외)를 사용하는 경우

UP의 데이터베이스 구조가 SimpleMembership보다 깔끔해 보입니다.

간단히 말해 SimpleMembership의 작동 방식이 좋지만 테이블의 "웹 페이지 접미사"는 공급자를 "인트라넷 응용 프로그램에서 사용하지 않을 것"으로 보이게 만듭니다.

+0

왜 "웹 페이지"접두사가 그 느낌을 주는가? 인트라넷 응용 프로그램은 인터넷 응용 프로그램과 거의 동일하며 현지화 된 것입니다. – Shoe

답변

1

SimpleMembership은 "인터넷"템플릿으로 만든 MVC 4 응용 프로그램의 기본 멤버 자격 공급자입니다. SimpleMembership은 쉽게 확장되고 OAuth 지원을 제공하는 인터넷 응용 프로그램 용 멤버쉽 공급자입니다. 아마도 Windows 보안에 연결된 역할 공급자가 필요한 인트라넷 응용 프로그램에는 적합하지 않다고 말할 수 있습니다. 또한 SimpleMembership은 더 이상 ASP.NET에서 인증 및 권한 부여의 미래가 아닙니다. 마이크로 소프트는 이미 MVC 5에 포함 시켰고 SimpleMembership 대신에 ASP.NET Identity을 소개했다.

1

MVC4는 사용자 지정 멤버십 공급자를 구축하는 데 필요한 모든 도구를 제공합니다. 따라서 "webpages_"접두어가 마음에 들지 않으면 자신의 공급자를 작성하고 원하는 이름으로 테이블의 이름을 지정하십시오.

+0

멋지 네요, Brandon, 제가 언급했듯이 저는 이미 커스텀 역할 제공자를 직접 작성했습니다. 그러나 MS는 유니버설 공급자가 유산이며 단순 공급자는 미래라고 말합니다. 그래서 당신은 ExtendedMembership으로부터 상속받은 SimpleMembership을 커스터마이징해야만한다는 것과 "레거시 (legacy)"SqlProvider를 커스터마이징하는 것은 여전히 ​​좋은 습관이라고 말하고 있습니까? – programad

+0

DB 테이블의 이름에 매달린 경우 변경할 수 있지만, 왜 귀찮을까요? 좋은 연습은 SimpleMembership을있는 그대로 사용하고 SimpleMembership이 절대 작동하지 않는 경우 사용자 지정 공급자를 작성하거나 작성하는 것입니다. –

관련 문제