2012-12-18 4 views
6

Jon Galloway는 ASP.NET MVC 4의 새로운 멤버십 기능 중 하나 인 http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx을 가지고 있습니다. 인터넷 프로젝트 템플릿은 ASP.NET의 핵심 멤버 자격 공급자에서 SimpleMembershipProvider 및 OAuth.익명 사용자를 구현하는 간단한 멤버 메서드

simplemembership을 참조하면 공개 소스 http://aspnetwebstack.codeplex.com/을 사용하여 확장 할 수 있는지 알 수 있습니까? 데이터베이스에 저장된 익명 사용자를 허용하려면 - 아마도 userprofile 테이블에 있습니까?

간단한 멤버 자격 클래스 인 http://msdn.microsoft.com/en-us/library/webmatrix.webdata.simplemembershipprovider을 확인했지만 그 메소드에는 익명 ID가없는 것으로 나타났습니다.

그럴 수 없다면 누구나 ExtendedMembershipProvider를 구축하는 것에 대한 정보가 있습니까? brgds!

업데이트 된 정보 : from pro.asp.netmvc3 book. 에 대한 인증이

익명 프로필을 사용 승인 - 기본적으로 , 프로파일 데이터는 인증 된 사용자 만 사용할 수 있습니다, 우리는 현재 사용자가 로그인하지 않은 경우 프로필 속성을 작성하려고하면 예외가 발생합니다 Listing 22-17과 같이 익명 프로필에 대한 지원을 활성화하여이를 변경할 수있다. 익명 식별이 활성화되면 ASP.NET 프레임 워크는 익명 사용자에게 .ASPXANONYMOUS라는 쿠키를 제공하여 익명 사용자를 추적합니다.이 쿠키는 10,000 분 (즉, 약 70 일) 후에 만료됩니다. 은 allowAnonymous 속성을 true로 설정하여 프로필 속성에 대한 익명 지원을 활성화 할 수 있습니다. 목록에서 Name 및 City 속성에 대한 익명 지원을 활성화했습니다. 익명 프로필을 사용하도록 설정하면 인증되지 않은 사용자의 프로필 데이터를 읽고 쓸 수 있지만 인증되지 않은 모든 방문객은 프로필 데이터베이스에 사용자 계정을 자동으로 만듭니다.

나는 이것을 단순한 사람으로 복제하고 싶습니다. 오래 전의 프로필 시스템을 사용하고 싶지 않습니다. brgds !.

* * 업데이트 : 목록 22-17 : 목록 22-17. 익명의 식별이 활성화되면 익명의 프로필을위한 활성화 지원

<configuration> 
<system.web> 
<anonymousIdentification enabled="true"/> 
<profile> 
<providers> 
<clear/> 
<add name="AspNetSqlProfileProvider" 
type="System.Web.Profile.SqlProfileProvider" 
connectionStringName="ApplicationServices" 
applicationName="/" /> 
</providers> 
<properties> 
<add name="Name" type="String" allowAnonymous="true"/> 
<group name="Address"> 
<add name="Street" type="String"/> 
<add name="City" type="String" allowAnonymous="true"/> 
<add name="ZipCode" type="String"/> 
<add name="State" type="String"/> 
</group> 
</properties> 
</profile> 
</system.web> 
</configuration> 

의 ASP.NET 프레임 워크 (즉 주위 칠십일의) 그 10,000 분 만료 .ASPXANONYMOUS라는 쿠키를 제공 으로 익명의 사용자를 추적합니다. 은 allowAnonymous 속성을 true로 설정하여 프로필 속성에 대한 익명 지원을 활성화 할 수 있습니다. 의 목록은 우리가 이름 및 도시 특성에 대한 익명 지원을 사용할 수 있습니다. **

+0

귀하의 질문에 명확하지 않은 '데이터베이스에 저장된 익명 사용자'는 무엇을 의미합니까? 사용자가 익명이면 SimpleMembership에서 어떤 종류의 신원을 찾고 있습니까? 개념/요구 사항을 지울 수 있다면 도움이 될 것입니다. –

+0

@ Vijay 안녕하세요. 회신 해 주셔서 감사합니다. anonymous .. = 등록되지 않은 사용자는 예를 들어 언어를 선택합니다. 쿠키를 읽는 대신 쿠키에서 GUID를 사용하는 사용자를 추적하려면 쿠키를 읽고 데이터베이스에 이전에 선택한 언어가 있는지 확인하십시오. simplemembership에는 CreateAccount (String, String) 등의 메소드가 있지만, 등록 된 사용자가 세부 사항을 작성하고 createaccount를 채울 때 익명 사용자를 생성하는 것은 아닙니다. Brgds! –

+0

@Vijay 또한 보안을 손상시킬 경우 직접 해당 테이블에 메서드를 만드는 경우 알 수 없습니다. –

답변

3

내가, 사용자가 응용 프로그램에 등록하지만, 어쩌면이 확인되지 않은 위치를 설명하는 시나리오가 하나라고 생각은, 자신의 프로필을 완료 또는 다른 어떤 기준; 이 요구 사항을 완료 할 때까지 응용 프로그램에 대한 액세스가 제한되어있는 익명 사용자로 간주됩니다. 나는 사용자가 사용자 이름과 암호 같은 사용자를 식별하기 위해 입력 한 몇 가지 최소 정보가 있다고 가정합니다.

아마 가장 쉬운 방법은 모든 새로운 사용자가 자동으로 할당되는 "익명"역할을 갖는 것입니다.이제 기본 양식 인증 방법을 사용하여 AuthorizeAttribute을 사용하여 컨트롤러/작업에 대한 액세스를 제한 할 수 있습니다. 사용자가 익명화되지 않은 기준을 완료하면 역할을 전환하거나 전체 액세스 권한을 부여하는 새 역할을 추가 할 수 있습니다.

사용자가 익명으로 식별 할 수있는 방법이없는 경우 역할 기반 인증을 사용하고 액세스를 허용하려는 영역에 대해 AllowAnonymousAttribute으로 컨트롤러/동작을 꾸미기로 제한된 액세스 권한을 부여하는 기본 인증을 형성합니다. 업데이트 질문

을 바탕으로

업데이트 대답은 answer in this ASP.NET Forum를 살펴 보자. 기본적으로 말하자면 자신의 쿠키와 데이터베이스 스키마를 관리하여 목표를 달성 할 수 있지만 SimpleMembership 공급자의 일부로 작동하지 않는다는 것입니다.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 자세한 정보를 포함하여 질문을 수정했습니다 .brgds –

관련 문제