BBS(2)

來源:互聯網
上載者:User

其實我們學習的第一個頁面是登陸,第二個才是註冊

但是為什麼老師要這樣呢?

可能是為了在登陸頁面給我們介紹,儲存登陸狀態吧,我也在這裡回顧一下吧

儲存登陸狀態需要調用到一個命名空間,即using system.Web.Security

 在其有一個類FormsOuthentication,其下面的兩個方法都可以儲存登陸狀態,

第一個是GetAuthCookie(a,b)

此方法是只用來儲存登陸狀態,而它有兩個參數a和b

a是儲存的登陸資訊,而b為一個bool值,當b為true時,瀏覽器會記住此次登陸資訊,所以

下次登陸時,會直接以這次儲存的登陸資訊進行登陸,此時由於上次的登陸資訊,此次訪問為授權訪問

而如果b為false的時候,瀏覽器將不會記錄此次你的登陸資訊

第二個方法是RedirectFromLoginPage(a,b)

此方法不僅用來儲存登陸狀態,而且還有一個作用就是跳回被攔截的頁面

我的意思說,假如你現在是匿名訪問一個(部落格),你沒有帳號,但是你又要進行一個發表文章的操作

此時,此方法就會阻止你進入發帖頁面,而跳轉到一個頁面讓你進行登陸,當你輸入登陸資訊後,你就是一個

授權訪問發帖頁面的訪問者,所以會自動跳轉到你一開始想進入的發帖頁面,而b也是跟上面一樣,一個bool值

具體作用跟上面的是一樣的,好啦,介紹這兩個方法,那麼就開始進行登陸頁面的設計吧

 

還是老套路,預存程序→封裝方法→調用方法

建立一個預存程序Login

Alter Procedure dbo.Login

(

    @UserName varchar(50),

    @Password varchar(50)

)

AS

select * from UserTable where UserName=@UserName and Password=@Password

封裝到一個方法中

public SqlDataReader Login(string user,string pwd)

{

     sqlconnection conn=new sqlconnection(sqlconn);

     sqlcommand comm=new sqlcommand("Login",conn);

     comm.commandtype=commandtype.storedprocedure;

     comm.parameters.add("@UserName",user);

     comm.parameters.add("@Password");

     conn.open();

     sqldatareader dr=comm.excutereader(commandbehavior.closeconnection);

    return dr;

}

 

aspx頁面調用方法

以下代碼寫在Button事件中 

ConDB cdb=new ConDB();

sqldatareader dr=cdb.Login(user.text,pwd.text);

if(dr.Read())

{

     FormsOuthentication.GetAuthCookie(user.text,b);這個b的值其實在設計介面的一個單選框裡面的一個文本對應

     bool的值

     Response.redirect("Index.aspx");

}

else

{

     response.redirect("使用者名稱或密碼錯誤");

}

 

哎,終於寫完了,有些地方還有點不完善,呵呵 下次有時間改吧,我的項目還要趕時間做起來呢 哈哈

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.