2012-02-13 107 views
1

我期待開發一個應用程序,它將有三種不同類型的用戶,登錄時它們將是類型1,2或3.我需要用戶類型1才能夠以創建類型2和3的帳戶。Web應用程序的三種不同類型的用戶

是使用角色進行此操作的最佳方法嗎?如果有的話,任何人都可以給我一篇能夠幫助我的文章,但我目前在嘗試解決如何擁有一定數量的帳戶並且只讓他們登錄系統時遇到困難,然後一旦他們登錄,他們就可以只能以他們的帳戶類型訪問和修改數據庫。

回答

2

這聽起來像你的應用程序將是一個很好的候選人使用內置的會員和角色提供商。通過使用內置的提供程序,您可以節省重新發明輪子。看看從以下頁面的鏈接:

ASP.NET 2.0 Membership and Roles Tutorial Series

1
  • 在用戶表中添加一個用戶類型列。
  • 當每個用戶登錄時,將他的用戶詳細信息存儲在會話中。
  • 檢查UserType的值並顯示/隱藏指向編輯/創建 用戶帳戶的鏈接。

如果您想要做更廣泛和更靈活的事情,您可以創建角色表,權限表和存儲每個角色的權限的表。您可以將角色與用戶相關聯。

1

您應該使用ASP.net中的內置成員資格。它已經考慮了所有的安全考慮因素,並且可以很好地運行。這裏是直接在asp.net網站上的會員指南。

http://www.asp.net/web-forms/tutorials/security/membership/creating-the-membership-schema-in-sql-server-cs

使用.NET的內置會員,你將能夠實現一個非常強大的成員與內置的用戶和角色(和一堆其他的東西)的支持。

+0

謝謝,角色和會員之間的區別是什麼? – rx432 2012-02-13 19:30:12

+0

角色是成員身份的一部分。在基本級別你有用戶,每個用戶可以屬於1個或幾個角色。 – 2012-02-13 19:32:05

1

這個最好的方法是使用現成的供應商框架ASP.Net

角色提供處理角色(明顯)。您可以通過從RoleProvider派生使自己:

http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

或使用基於SQL Server上的現成的一個

http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

這同樣適用於用戶(請參閱MembershipPrioviderhttp://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

還有一些基於Active Directory的Intranet應用程序。

然後,您可以根據應用程序的角色限制對應用程序中的頁面的訪問。例如,如果您使用的是ASP.Net MVC,則可以使用AuthorizeAttribute類 獲取某些詳細信息。

+0

感謝您的詳細回覆,您認爲ASP.NET MVC最適合這種類型的應用程序嗎? – rx432 2012-02-13 19:32:07

+0

那麼,你沒有指定你的應用程序的很多細節,但我發現MVC是一個非常乾淨和簡單的框架,導致非常可維護的代碼。免責聲明:我從來沒有做過沒有MVC的ASP.Net網絡應用! – 2012-02-13 19:47:36