MVC4商城專案二 使用者身份驗證的實現

2022-07-05 02:09:10 字數 1822 閱讀 3986

使用者身份驗證,依賴於 forms 身份驗證類:formsauthentication,它是一串加密的cookie 來實現對控制器訪問限制和登陸頁面的訪問控制。它在瀏覽器端是這樣子的:

需求:我們要實現對使用者中心只有登入的使用者才能訪問,如果沒登入就跳轉到登入頁面,其它頁面都可以訪問:

首先來看登入控制器的**:

userdto user =userservice.getuserbyid(convert.toint32(msg.msg));

//為提供的使用者名稱提供乙個身份驗證的票據

formsauthentication.setauthcookie(user.uname, true

, formsauthentication.formscookiepath);

//把使用者物件儲存在票據裡

formsauthenticationticket ticket = new formsauthenticationticket(1, user.uname, datetime.now, datetime.now.addticks(formsauthentication.timeout.ticks), false

, jsonconvert.serializeobject(user));

//加密票據

//被限制要登入的頁面會在url上帶上上一訪問的頁面

if (request["

returnurl

"] != null || request["

returnurl

"]!=""

)

web.config 的配置,loginurl為指定的登入頁面

"

forms

">

"~/account/login

" timeout="

2880

" />

"controler

"/>

"*"/>

在控制器加入[

authorize]

註解,就可以控制使用者的訪問了,

[authorize]

public

actionresult index()

當然也可以註解的屬性來控制不同角色和不同使用者的許可權:

[authorize(roles = "

controler")]

public

actionresult index()

[authorize(users = "

admin")]

public

actionresult order()

登出操作:清除cookie

//

登出public

actionresult loginout()

如果想更詳細的了解forms身份驗證請 點 

本**已更新到 

MVC4學習筆記(一) 認識MVC

mvc就是為了快速開發出乙個軟體專案,有多快了?你甚至可以在5分鐘內開發出乙個五臟俱全的軟體系統,一點也不假。mvc model view controller,模型 檢視 控制器模式 用於表示一種軟體架構模式。它把軟體系統分為三個基本部分 模型 model 檢視 view 和控制器 control...

MVC4程式執行報錯

近期了解mvc4的時候弄了乙個簡單的小工程,使用entity framework作為model,f5啟動除錯執行的時候沒有問題,但是發布到iis之後訪問就報錯 錯誤資訊如下 很奇怪,搜尋了一下,找到乙個老外的帖子,戳這裡 解決方案如下 首先檢查ef相關的程式集是否被引用,主要有兩個 entityfr...

MVC4 的簡單學習

1.html元件,提供很多有用的功能,html.textboxfor 這個是可以直接使用model中的東西的 2.2.remote特性,不好用,每次輸入,都要到後台去驗證,這個就有問題了,如果需要連庫查,肯定效能太差了,應該看一下怎麼回事 3和4都這個毛病 3.要詳細看看路由設定啊,很亂 4.如果要...