تقييد الوصول إلى خدمة WCF REST (webHttpBinding) باستخدام موفر عضوية ASP.NET؟

StackOverflow https://stackoverflow.com/questions/481090

سؤال

لقد وجدت الكثير من المواد على الويب حول استخدام موفر عضوية ASP.NET مع wsHttpBindings، لكنني لم أر أي إشارة لاستخدامه مع webHttpBindings.

أبحث عن نظام يعمل في سيناريوهين:

  1. يقوم المستخدم بتسجيل الدخول إلى موقع ويب asp.net ويقوم موقع الويب بإجراء مكالمات للخدمة.
  2. يصل المستخدم إلى الخدمة مباشرة عبر REST.

هل هذا ممكن باستخدام الإطار المدمج (أي؟فقط من خلال التكوين)؟إذا كان الأمر كذلك كيف يمكنني تكوين الخدمة؟وكيف يقوم المستخدم بتمرير بيانات الاعتماد إلى خدمة REST؟

هل كانت مفيدة؟

المحلول

أفضل مصدر وجدته هنا: http://www.leastprivilege.com/FinallyUsernamesOverTransportAuthenticationInWCF.aspx

يحتوي الموقع أيضًا على الكثير من المعلومات الأخرى حول إعداد وحدات HTTP للتعامل مع المصادقة الأساسية (والتي أعتقد أنك ستستخدمها نظرًا لأنها نوع من المعايير).

توجد طريقة مصادقة وحدة HTTP على Codeplex مع نموذج التعليمات البرمجية وكل شيء هنا: http://www.codeplex.com/CustomBasicAuth

نصائح أخرى

خدمات بيانات ADO.NET تقصد؟

يمكنك إنشاء QueryInterceptor لكيان ما وتقييد الوصول إليه.على سبيل المثال:

    [QueryInterceptor("foo_entity")]
    public Expression<Func<foo_entity, bool>> FilterMembership()
    {
        MembershipUser user = Membership.GetUser();
        Guid userGuid = (Guid)user.ProviderUserKey;
        return c => c.UserId == userGuid;
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top