簡體   English   中英

如何在ASP.NET MVC4中存儲自定義用戶登錄憑據?

[英]How to store custome user login credentials in asp.net mvc4?

我有一個現有的用戶數據庫,所以我不使用現成的.NET用戶配置文件。

我有一個控制器,在其中實現了用於創建用戶,檢索密碼,注冊用戶,查看等功能。唯一的問題是,如何在整個Web應用程序中傳遞用戶登錄憑據(例如用戶ID,登錄時間,角色等)以便可以將其用作某些頁面的安全訪問權限? 例如,只有具有管理員角色的用戶才能訪問特定頁面。

我應該將其作為會話對象傳遞嗎?

您可以使用ASP.Net成員資格提供程序為不同角色或用戶指定訪問權限。

要要求用戶登錄,請使用:

[Authorize]
public class YourController : Controller

// Or
[Authorize]
public ActionResult YourAction()

要限制對特定角色的訪問,請使用:

[Authorize(Roles = "Admin, User")]
public class SomeController : Controller

// Or
[Authorize(Roles = "Admin, User")]
public ActionResult SomeAction()

並限制特定用戶的訪問權限,請使用:

[Authorize(Users = "ABC1, ABC2")]
public class SomeController : Controller

// Or
[Authorize(Users = "ABC1, ABC2")]
public ActionResult SomeAction()

有關更多信息,請訪問http://www.codeproject.com/Articles/288631/Secure-ASP-NET-MVC3-applications

請隨時提出其他具體問題。 謝謝。

對初學者使用表單身份驗證: ASP.NET表單身份驗證概述

在其上保存數據庫用戶標識。

FormsAuthentication.SetAuthCookie(userId, rememberMe);

這樣,您始終可以獲得用戶ID。 然后,您可以根據需要使用用戶ID獲取用戶詳細信息。 如果您一直需要這樣做,請將其緩存在Session對象上。 無論如何,都使用表單身份驗證,因為即使會話終止,您也始終可以從表單驗證中再次獲取用戶ID並重建其緩存。 使用表單身份驗證的另一個好處是,如果您在Web場中,則每個Web服務器上都有一個會話對象,但是由於用戶ID在auth cookie中始終可用,因此您始終可以獲取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM