如何在ASP.NET中处理未经授权的站点导航?
我想知道如何做以下 我有一个注册系统。当用户成功注册时,他是 然后为他的个人资料做了一系列的数据收集, 最后,在他的个人资料主页上结束,在那里他可以开始使用该网站 所有这些都是在从未登录系统的情况下发生的,因此,他未经身份验证 未经证实 我的问题是,这是怎么发生的?我如何允许我的用户未经验证和未确认,但我了解并使用网站的所有方面 按照我现在设置的方式,我的代码应该是这样做的:如何在ASP.NET中处理未经授权的站点导航?,asp.net,authentication,Asp.net,Authentication,我想知道如何做以下 我有一个注册系统。当用户成功注册时,他是 然后为他的个人资料做了一系列的数据收集, 最后,在他的个人资料主页上结束,在那里他可以开始使用该网站 所有这些都是在从未登录系统的情况下发生的,因此,他未经身份验证 未经证实 我的问题是,这是怎么发生的?我如何允许我的用户未经验证和未确认,但我了解并使用网站的所有方面 按照我现在设置的方式,我的代码应该是这样做的: case CreateProfileStatus.Success: //FormsAuthentication.SetA
case CreateProfileStatus.Success:
//FormsAuthentication.SetAuthCookie(userName, false);
Response.Redirect("NextPage.aspx", false);
break;
但是,我被重定向到登录页面注册后,这不是我想要的结果。这是my 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="" />
当用户在注册并与站点进行初始交互后注销时,他将被要求在返回后登录。此时,必须对其进行认证,但在一段时间内无需确认。最终,他会被提醒
那么,这是如何做到的?提前感谢。现在,拒绝用户=?拒绝匿名用户访问网站的所有部分。表单身份验证不是全部或全部。您可以将其设置为仅应用于站点的一部分。由于您已将其应用于everywhere,因此每当您有一个匿名用户未获得身份验证cookie时,他们将被重定向到default.aspx,这是他们需要登录的地方
如果我理解正确,您需要执行以下操作…将网站的注册部分设置为对匿名用户开放,然后在web.config的授权部分执行此操作。这将防止在注册过程中重定向到default.aspx。一旦他们完成注册,您可以将他们发送到default.aspx进行登录,或者识别他们现在已注册,并使用FormsAuthentication.SetAuthCookie方法为他们登录。谢谢BPotocki,我将此标记为答案,因为我遵循了您的建议,并且成功了。非常感谢。不过,如果你不介意的话,我只有一个后续问题。对于SetAuthCookiecookie,false,我是否应该从aspnet\u数据库设置与aspnet\u用户中的UserId列对应的Guid值?如果不是,我应该使用什么?这与会话id相同吗?再次感谢。SetAuthCookie的第一个参数是userID,它可以是任何您想要的。使用系统中标识用户的任何内容。它与会话id不同。一个用户可以在不同的计算机上打开两个会话,因此用户id将保持不变,因为用户代码Sherpa将始终是您的id。