다음 작업을 수행하는 방법을 궁금합니다.ASP.NET에서 인증되지 않은 사이트 탐색이 어떻게 처리됩니까?
등록 시스템이 있습니다. 사용자가 성공적으로 등록하면 그는 이고 데이터 수집 페이지 (자신의 프로필 용)를 찾은 다음 님이 마침내 자신의 프로필 홈 페이지에서 끝내 사이트 사용을 시작할 수 있습니다.
이 모든 일은 시스템에 로그인하지 않고도 발생하므로 인증되지 않은 이며 확인되지 않았습니다.
제 질문은 어떻게됩니까? 내 사용자가 인증을받지 못하게하고 (확인되지 않았지만 이해함) 어떻게 웹 사이트의 모든 측면을 사용할 수 있습니까? 내가 원하는 결과가 아닌 등록 후 로그인 페이지로 리디렉션되고,하고
case CreateProfileStatus.Success:
//FormsAuthentication.SetAuthCookie(userName, false);
Response.Redirect("NextPage.aspx", false);
break;
을하지만 :
내가 일을 지금 설정 한 방식으로, 내 코드는이 일을해야한다.
<authentication mode="Forms">
<forms name=".AuthCookie" loginUrl="default.aspx" protection="All"/>
</authentication>
<authorization>
<deny users="?"/>
<allow roles="Administrators" />
</authorization>
<anonymousIdentification enabled="true"
cookieName=".ASPXANONYMOUS"
cookieTimeout="100000" cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="Encryption"
cookieless="UseCookies"
domain="" />
사용자가 그가 돌아 왔을 로그인해야합니다 사이트에 등록 초기 상호 작용 후 로그 아웃이 내 Web.config의에서 관련 노드가 어떻게 생겼는지입니다. 이 시점에서 그는 인증을 받아야하지만 일정 기간 동안 확인 될 필요가 없습니다. 결국, 그는 상기 될 것입니다.
그럼, 어떻게해야합니까? 미리 감사드립니다.
감사의 말 BPotocki, 나는 당신의 제안을 따르고 효과가 있기 때문에 이것을 답으로 표시했습니다. 매우 감사. 그러나, 당신이 괜찮다면, 나는 후속 질문 만합니다. SetAuthCookie (cookie, false)의 경우 aspnet_db (aspnet_db)의 UserId 열에 해당하는 Guid 값을 설정해야합니까? 그렇지 않다면, 나는 무엇을 사용해야하며 이것은 세션 ID와 동일합니까? 다시 한번 감사드립니다. –
SetAuthCookie의 첫 번째 매개 변수는 "userID"이며 원하는대로 지정할 수 있습니다. 시스템의 사용자를 식별하는 것을 사용하십시오. 세션 ID와 같지 않습니다. 한 명의 사용자가 서로 다른 컴퓨터에서 두 개의 세션을 열 수 있으므로 userID는 사용자가 일정하게 유지할 수있는 항목입니다 ("Code Sherpa"는 항상 여기에 ID로 사용됩니다). – Ocelot20
좋아, 그걸 정리 했어. 다시 고마워. –