Скрыть главную страницу некоторое содержимое на страницах содержимого ASP.NET с#
Я создал веб-приложение, в котором
1 - я хочу скрыть некоторое содержимое главной страницы(например, ссылки на другие страницы(меню), кнопки)
2 - я хочу ограничить доступ к некоторым страницам для вошедших пользователей и не вошедших пользователей.
у меня есть 5 страниц,а именно домашняя страница,регистрация,транзакции,view_transactions, панель мониторинга
у меня работает как ограничить доступ к страницам сделок,view_transactions,панель управления для зарегистрированных пользователей.
как добиться этого в c# asp.net-да.
Мой основной код страницы:
<pre><%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Expense.master.cs" Inherits="Expense_System.Expense" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <link href="App_Themes/Theme1/MasterPageStyle.css" rel="stylesheet" /> <title> Expense System</title> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:Menu ID="Menu1" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" Orientation="Horizontal" RenderingMode="Table" StaticSubMenuIndent="10px" style="font-weight: 700; color: #FFFFFF; background-color: #99CCFF; font-size: xx-large; text-align: center;" Width="99%" Height="67px"> <DynamicHoverStyle BackColor="#990000" ForeColor="White" /> <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> <DynamicMenuStyle BackColor="#FFFBD6" /> <DynamicSelectedStyle BackColor="#FFCC66" /> <Items> <asp:MenuItem NavigateUrl="~/HomePage.aspx" Text="Home Page" Value="Home Page"></asp:MenuItem> <asp:MenuItem NavigateUrl="~/Register.aspx" Text="Register" Value="Register"></asp:MenuItem> <asp:MenuItem NavigateUrl="~/Loginpage.aspx" Text="Login" Value="Login"></asp:MenuItem> </Items> <StaticHoverStyle BackColor="#990000" ForeColor="White" /> <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> <StaticSelectedStyle BackColor="#FFCC66" /> </asp:Menu> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> </form> </body> </html>
<pre>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace Expense_System { public partial class Loginpage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnlogin_Click(object sender, EventArgs e) { String strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString; SqlConnection con = new SqlConnection(strConnString); SqlCommand cmd = new SqlCommand("SELECT * FROM User_details WHERE [Login Id]=@loginid AND [Password]=@password",con ); cmd.Parameters.Add("@loginid", SqlDbType.VarChar).Value = loginid.Text; cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = pwd.Text; //cmd.CommandType = CommandType.StoredProcedure; //con.Open(); //cmd.CommandText = "SPchkloginuser"; //cmd.Parameters.Add("@loginid", SqlDbType.VarChar).Value = loginid.Text; //cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = pwd.Text; //cmd.Connection = con; //SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText,con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); if(dt.Rows.Count > 0) { Response.Redirect("Transactions.aspx"); } else { Response.Write("<script>alert('Invalid credentials')</script> "); } } } }
Что я уже пробовал:
Я не понимаю логики, я новичок в кодировании и языке тоже
F-ES Sitecore
Это должно быть сделано на главной странице. Это page_load просто есть код типа
if (userNotLoggedOn)
{
targetControl.Видна = ложь;
}
Richard Deeming
НИКОГДА храните пароли в виде обычного текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
И почему вы заново изобретаете колесо? ASP.NET имеет несколько совершенно хороших встроенных систем аутентификации - например, Личность ASP.NET [^]