我刚开始使用asp.net并遇到了一个我无法解决的问题。我已经看了很多类似的问题,但没有一个回复修复了这个问题。
我正在使用工具箱中的Login控件,它构建了以下aspx:
<asp:Login ID="Login1" runat="server" BackColor="#FFFBD6" BorderColor="#FFDFAD" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" CreateUserText="Register" CreateUserUrl="~/Registration.aspx" DestinationPageUrl="~/ClientInfo.aspx" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333" TextLayout="TextOnTop">
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<LoginButtonStyle BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" />
<TextBoxStyle Font-Size="0.8em" />
<TitleTextStyle BackColor="#990000" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
</asp:Login>
DestinationURL设置为我的下一页ClientInfo。在该页面上,我使用LoginName控件:
<span class="usernme"><asp:LoginName ID="LoginName1" runat="server" FormatString="Welcome, {0}" />
这总是空的。我试着通过将其放在ClientInfo表单的代码中来查看是否有任何内容:
If User.Identity.IsAuthenticated Then
lblSelected.Text = User.Identity.Name
Else
lblSelected.Text = "No user identity available."
End If
它击中了Else,所以IsAuthenticated不是真的。
当我登录时,它会停止未注册的ID。当我使用我的注册ID登录时,它会重定向到ClientInfo表单,正如我所料。
以下是我用于身份验证的web.config条目:
<authentication mode="Forms">
<!--<forms name="asp.ASPXAUTH" loginUrl="~/login.aspx" protection="All" /> -->
<forms name="clients" loginUrl="~/login.aspx" timeout="20" protection="All" path="/"/>
</authentication>
我确信这是一个简单的错误,但......我有点失落。
任何帮助表示赞赏!