2012-02-04 130 views
1

我想知道什麼是最簡單和最快的方式,我可以在asp.net mvc中進行身份驗證?簡單身份驗證

我目前正在製作一個網站,並希望儘快推出。該網站更像是一場測試,看看這個想法是否會持續下去。我不想花時間研究諸如爲我的管理部分使用openId/openAuth之類的詳細身份驗證。

將來我會看到用戶也需要登錄,這也是我在執行管理部分時還需要更多的東西。

現在我只想要一些可以阻止任何人,但我不能去那個區域。如果可能的話,我甚至沒有一個帶有用戶名或密碼的HTML表單來輸入憑據。

我在看安全框,但不知道我是否可以使用這個或如果這一些表單身份驗證或什麼。

enter image description here

+0

此鏈接可能有助於http://stackoverflow.com/questions/524086/user-authentication-and-authorisation-in-asp-net-mvc – Smack 2012-02-04 19:30:51

回答

1

最簡單的,如果你想現在支持多用戶,是MembershipProvider

第一步是使用aspnet_regsql命令生成數據庫中的成員表:

aspnet_regsql -S本地主機 - d「your_database_name」-A all -U sql_username -P sql_password

從那裏,它只是將成員資格提供程序配置添加到您的web.config(和settin g您想要的選項,如無效密碼嘗試的次數,強度要求等):

<add name="AspNetSqlMembershipProvider" 
    type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, 
    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    connectionStringName="ApplicationServices" 
    enablePasswordRetrieval="false" 
    enablePasswordReset="true" 
    requiresQuestionAndAnswer="false" 
    requiresUniqueEmail="true" 
    passwordFormat="Hashed" 
    maxInvalidPasswordAttempts="5" 
    minRequiredPasswordLength="6" 
    minRequiredNonalphanumericCharacters="0" 
    passwordAttemptWindow="10"  
    passwordStrengthRegularExpression="^.*(?=.{6,})(?=.*\d).*$" 
    applicationName="/" /> 

,並添加[授權]屬性,你想保護的任何控制器。默認的ASP.NET MVC項目隨附內置的成員資格和表單身份驗證。您可以複製/粘貼帳戶控制器,帳戶模型和web.config部分,並在幾分鐘內擁有完整的身份驗證和註冊系統。這甚至包括密碼重置,禁用帳戶,配置文件,角色和訪問控制(即[授權(角色=「管理員,超級用戶」)])意味着用戶必須通過身份驗證,並且在管理員或超級用戶角色中。

0

當你做出新的MVC項目,選擇「Internet應用程序」,它與窗體身份驗證的預建。如果您向控制器添加[授權],則必須登錄才能訪問應用程序的任何部分。

這是您儘可能快地跑步的最佳選擇。