我想知道如何做以下......
我有一个注册系统。当用户成功注册时,他就是 然后,领导了一系列数据收集页面(对于他的个人资料),然后, 最后,在他的个人资料的主页上结束,他可以开始使用该网站。
所有这些都是在没有登录系统的情况下发生的,因此,他是未经身份验证的 并且未经证实。
我的问题是,这是怎么发生的?如何允许我的用户未经身份验证(并且未经证实,但我理解这一点)并使用网站的所有方面?
我现在设置的方式,我的代码应该这样做:
case CreateProfileStatus.Success:
//FormsAuthentication.SetAuthCookie(userName, false);
Response.Redirect("NextPage.aspx", false);
break;
但是,我在注册后被重定向到登录页面,这不是我想要的结果。这就是我的web.config中的相关节点的样子:
<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="" />
当用户在注册和与网站初次互动后退出时,他将需要在返回时登录。此时他必须经过身份验证,但不需要确认一段时间。最终,他会被提醒。
那么,这是怎么做到的?提前谢谢。
答案 0 :(得分:0)
现在,拒绝用户=“?”拒绝匿名用户访问网站的所有部分。表单身份验证不是全部或全部。您可以将其设置为仅应用于您网站的一部分。由于您已将其应用于任何地方,因此每当您有一位未获得身份验证cookie的匿名用户时,他们将被重定向到“default.aspx”,这是他们登录所需的位置。
如果我理解正确,您需要执行以下操作...将站点的注册部分设置为对匿名用户开放(您可以在web.config的授权部分中执行此操作)。这将阻止在注册过程中重定向到“default.aspx”。完成注册后,您可以将它们发送到“default.aspx”进行登录,或者识别它们现在已注册并登录(通过使用FormsAuthentication.SetAuthCookie方法)。