2009-07-28 5 views
13

Tôi đã triển khai nhà cung cấp thành viên tùy chỉnh sử dụng LINQ to SQL. Khi tôi thêm nhà cung cấp thành viên vào trang web asp.net mvc của tôi trong cấu hình web, trang đăng nhập ngừng hoạt động.Nhà cung cấp tư cách thành viên tùy chỉnh ASP.NET MVC Lỗi Web.config

thiết lập Web.config của tôi:

<membership> 
    <providers> 
    <clear/> 
    <add 
     name="MyMembershipProvider" 
     type="MyMembership.MyMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     passwordStrengthRegularExpression="" 
     applicationName="/"/> 
    </providers> 
</membership> 

Các lỗi tôi nhận được là như sau:

Parser Error Message: Mặc định Provider thành viên không thể tìm được.

Nguồn Lỗi:

Line 53:   <forms loginUrl="~/Account/LogOn" timeout="2880"/> 
Line 54:  </authentication> 
Line 55:  <membership> 
Line 56:   <providers> 
Line 57:    <clear/> 

Tôi đang mắc kẹt vào nơi để tiến hành từ đây. Tôi không thể đặt điểm ngắt vì lỗi này dường như được gọi ra khỏi mã chính.

Tôi đang sử dụng mã thành viên chuẩn đi kèm với dự án mặc định của asp.net mvc. Các nhà cung cấp thành viên được thực hiện trong một hội đồng riêng biệt được bao gồm trong dự án web.

Mọi trợ giúp sẽ được đánh giá cao.

Cảm ơn!

Trả lời

26

Thử thêm "Default = MyMembershipProvider" vào thẻ thành viên. Nếu bạn không chỉ định mặc định, nó sẽ cố gắng sử dụng tiêu chuẩn ASP.

+3

tôi đã thêm và nó đã làm việc! Cảm ơn bạn! – Lukasz

+3

Vì vậy, nếu bạn cung cấp cho ASP.Net một danh sách chính xác một nhà cung cấp được cấu hình ('' là nghĩa vụ phải loại bỏ tất cả các nhà cung cấp khác), nó chọn như một mặc định là * không * cấu hình. Tuyệt vời. Rất vui vì tôi đã tìm thấy điều này. –

3

2 điều bạn có thể thử. Số một: gỡ lỗi có thể, chỉ cần phá vỡ tất cả các ngoại lệ và tải xuống các biểu tượng gỡ lỗi bao gồm mã nguồn cho khuôn khổ .NET.

Số hai: từ loại của bạn được định nghĩa trong lắp ráp khác, chuỗi trong type lẽ cần phải được một chuỗi lắp ráp loại đủ điều kiện, tức là nó giống như

type="MyMembership.MyMembershipProvider, MyAssemblyName"