У нас есть веб-страницу, которая была создана в Visual Studio 2008 бывшим сотрудником, который позволяет посетителям войти.ASP.NET LoginView Путаница
Недавно один из наших маркетинговых людей взял класс по веб-дизайну , Во время занятий этот человек создал сайт довольно как часть проекта класса для Visual Studio 2010.
Теперь меня бросили, чтобы он работал, и я не знаю, как работал существующий веб-сайт. У меня есть оба варианта Visual Studio, так что это не проблема.
Прямо сейчас, я пытаюсь выяснить, как наш предыдущий веб-дизайнер реализовал элемент управления LoginView.
Как-то, записи в файле Web.config
влияют на то, где находится элемент управления LoginView
, для аутентификации учетных записей.
Чтобы сохранить код в короткий и «до точки», как это возможно, я собираюсь вырезать столько, сколько я могу, что не выглядит необходимым.
Наш файл Web.config
имеет эту запись:
<configuration>
<system.web>
<membership defaultProvider="CustomizedProvider">
<providers>
<clear/>
<add name="CustomizedProvider" type="System.Web.Security.SqlMembershipProvider" requiresUniqueEmail="false" connectionStringName="SqlASPNETDB" applicationName="JP2CODE" enablePasswordRetrieval="True" enablePasswordReset="True" passwordFormat="Clear" requiresQuestionAndAnswer="False" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0"/>
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="ProfileProvider" applicationName="JP2CODE" connectionStringName="SqlASPNETDB" type="System.Web.Profile.SqlProfileProvider"/>
</providers>
</profile>
<roleManager enabled="true" defaultProvider="CustomRoleProvider">
<providers>
<clear/>
<add connectionStringName="SqlASPNETDB" applicationName="JP2CODE" name="CustomRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
<webParts>
<personalization defaultProvider="SqlPersonalizationProvider">
<providers>
<add name="SqlPersonalizationProvider" type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider" connectionStringName="SqlASPNETDB" applicationName="JP2CODE"/>
</providers>
<authorization>
<allow verbs="enterSharedScope" users="test,?"/>
</authorization>
</personalization>
</webParts>
</system.web>
</configuration>
Примечание: Я изменил applicationName
поле так, чтобы не незнанию отдать некоторую информацию безопасности.
Итак, скопируйте эту Web.config
информацию о файле непосредственно в новый проект? В нашем веб-проекте нашего маркетинга есть много настраиваемых записей в файле Web.config
, которые я действительно не понимаю, и я не хочу отвечать за его нарушение.
Должен ли я создать новый PublicKeyToken
, если я изменю applicationName
?
В Генеральной странице СУЩЕСТВУЮЩИХ, рутина Логина содержится внутри asp:Login
тега:
<asp:Login ID="Login1" BackColor="#e7e0c5" Width="170px" VisibleWhenLoggedIn="False"
runat="server" FailureText='Invalid UserName/Password.'>
<LayoutTemplate>
<div style="width:181px;">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Login ID:</asp:Label>
<asp:TextBox ID="UserName" runat="server" Width="150px"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="Required<br />" ValidationGroup="ctl00$Login1">*</asp:RequiredFieldValidator>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
<asp:TextBox ID="Password" runat="server" TextMode="Password" Width="150px"></asp:TextBox><br />
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="Required<br />" ValidationGroup="ctl00$Login1">*</asp:RequiredFieldValidator>
<asp:CheckBox ID="RememberMe" runat="server" Text="Remember" />
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="ctl00$Login1" /><br />
<asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
</div>
</LayoutTemplate>
</asp:Login>
Я не уверен, что ValidationGroup="ctl00$Login1"
есть, или могу ли я использовать это в новой версии.
В PROTOTYPE Основная страница, предоставленная мне маркетингом, процедура входа в систему очень отличается. Я не уверен, как заставить его работать, или если специалист по маркетингу вставил вещи, которые не будут работать. Это немного больше разброса:
<div style="width:181px;">
<asp:LoginName ID="LoginName1" runat="server" FormatString="Welcome {0}!" />
<asp:LoginView ID="LoginView2" runat="server">
<LoggedInTemplate>
<asp:LinkButton ID="LinkButton1" Font-Underline="true" PostBackUrl="~/ManageProfile.aspx" runat="server">Manage Profile</asp:LinkButton>
</LoggedInTemplate>
</asp:LoginView>
<asp:LoginStatus ID="LoginStatus1" Font-Underline="true" LoginText="" LogoutAction="Refresh" runat="server" />
</div>
<h3>Log In</h3>
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<asp:Login ID="Login1" BackColor="#E7E0C5" Width="170px" VisibleWhenLoggedIn="false"
runat="server" FailureText='Invalid UserName/Password.' >
</asp:Login>
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <asp:LoginName ID="LoginName1" runat="server" /><br /><br />
<asp:LoginStatus ID="LoginStatus1" runat="server" /><br />
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/ManageProfile.aspx">Manage Profile</asp:HyperLink>
</LoggedInTemplate>
</asp:LoginView>
В этой новой версии есть несколько полей. Я реализую те или эти элементы управления по умолчанию, используемые, когда пользовательский логин не используется?
Существуют ли новые функции, которые прототип обеспечивает, что исходное приложение не поддерживает? Помогло бы узнать, требуется ли даже переносить приложение на 4.0 (Visual Studio 2010 - по умолчанию asp.net framework). – Rich
Мне сказали сделать работу по маркетингу, а затем передать ее им, чтобы они могли поддерживать ее или делать какие-либо изменения, которые они хотят сделать. Итак, я думаю, он должен остаться в формате VS2010. Сценарии входа в систему контролируются отделом ИТ/ИТ, поэтому старая логика должна оставаться. Отвечал ли я на ваш вопрос? – jp2code
Не совсем, но это нормально. Позвольте мне ответить на ваши вопросы и посмотреть, могу ли я предоставить некоторую дополнительную информацию. – Rich