سؤال

أنا جديد في برمجة الويب من تطوير لعبة فيديو الخلفية (c++) و بدأت تشعر الحمل الزائد للمعلومات.هناك الكثير من المنافسة المكتبات التي يختار كل شيء أنهم لا يحبون في بعض المكتبات الأخرى ، بناء طريقة جديدة تماما تفعل الشيء نفسه!أنا متأكد من أن هناك هناك أسباب وجيهة لذلك ، أنا لا أريد أن يشكو ، لذلك سوف أشرح مشكلتي.

لتخفيف رحلتي قررت البدء في تعلم Google App Engine + GWT + جافا.أنا أحب ذلك لأنه الموزعة الخادم من خارج منطقة الجزاء ، و لقد اخترت جافا بسبب C++ الخلفية.

لتبدأ كتبت القليل تويتر-مثل التطبيق لأنه اختبارات مختلف جوانب التنمية على شبكة الإنترنت وهي:الراحة سلمان تحليل/إنشاء اياكس الاتصال, و HTML جيل.لم يستغرق مني وقتا طويلا لخلق القليل من المواقع التي تسمح للمستخدم بإدخال الاسم و كلمة المرور في الصفحة في المتصفح ، وإرسال البيانات عبر التطبيق الخاص بي ، وأنا الدخول نيابة عنهم ، والاستيلاء على قائمة أصدقائهم ، تنبعث مرة أخرى إلى العميل سلمان, حيث تحليل وعرضه.

أشياء بسيطة جدا.

لذلك كانت الخطوة التالية التي لم أكن مثل إرسال كلمة المرور المستخدم قد دخلت عبر الشبكة كما نص عادي (من الواضح).التي حصلت لي التفكير في جميع السباكة سوف تحتاج إلى:

  1. لمصادقة المستخدمين ضد بلدي قاعدة البيانات لا تتبع Google.(تسجيل الدخول/كلمة المرور المفقودة/تسجيل الخروج)
  2. الدخول/الخروج (المسار) دورة (تسجيل الدخول/تسجيل الخروج).
  3. تخزين بيانات المستخدم في جوجل بيانات التطبيق.

كل الاشياء جميلة القياسية التي تم حولها إلى الأبد.حسنا لقد بدأت تبحث جافا المصادقة المكتبة كانت هناك مثل هذه كبيرة متجانسة مكتبات ضخمة مع منحنيات التعلم ، وبعضها قديمة أو لا تؤيد أي أكثر...أشعر مبتدئا الكلي مبرمج في جميع أنحاء مرة أخرى!أريد فقط أن يكون لديك صفحة تسجيل الدخول!:)

لذلك بدأت أقرأ عن كيف السباكة من المصادقة يعمل و هناك كمية كبيرة أن تأخذ في.على ما يبدو انه من الشائع جدا للناس (مأمون) لفة الخاصة بهم.أنا أفضل أن الحل موجود الصلبة.

لذلك يصبح السؤال ماذا يفعل الناس عن هذا ؟ تويتر يدعم كلا من HTTP و HTTPS, ولكن الافتراضية HTTP لها بقية API, هل هذا يعني أن الناس كلمات تحلق حولها دون وقاية ، وعلى استعداد ليتم اعتراضها من قبل رجل-في-الوسط الخارقة ؟

أنا أيضا بحثت في أوث ، والتي تبدو ممتازة ، لكن ليس لديك حالة جيدة القديمة "لا أريد أن أعرف أو رعاية ما OpenID هو".غير تقني الناس لقد أظهرت OpenID إلى مثل "ماذا ؟ أريد فقط أن أضع اسم المستخدم/كلمة المرور في".

كملاحظة جانبية, وقد أي شخص لديه أي حظ مع الربيع.الأمن على Google App Engine ؟

على أي حال, أنا أصيح.أنا فقط أريد أن أعرف ما يفعله الناس (وليس في بيثون ، القضبان الخ ، ولكن في القديم جافا).أحب أن صفحة تسجيل الدخول مثل Digg ، حتى مع خيار واحد يوم OpenID :)

الهتافات ، شين

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

المحلول

لا أستطيع التحدث الربيع الأمن جنبا إلى جنب مع محرك جوجل التطبيق ، ولكن أستطيع أن أقول بضعة أشياء حول هذا الموضوع التي قد تكون مفيدة.

أولا, أنها بسيطة جدا لإعداد جيدة دروس في الحصول على ما يصل والذهاب.أنا شخصيا استخدمت الحيوانات الأليفة-عيادة التعليمي كدليل على كيفية تطبيق الربيع الأمن على مشروعي المرة الأولى.وكنت قادرا على الحصول على هذا الإعداد في غضون ساعة أو ساعتين وكان الأمنية الأساسية باستخدام قاعدة البيانات الخاصة بي أكثر من بضع صفحات مختلفة.الأميال الخاص بك قد تختلف بالطبع ، ولكن أسوأ سيناريو لديك كاملة التعليمي يمكنك كزة وهمز أن نرى كيف يتفاعل.

ثانيا: المكتبة هو شكلي للغاية.إذا كنت تبحث من خلال دليل سوف تحصل على فكرة جيدة من الأشياء التي يمكنك القيام به ، وليس لدي أي مشاكل إعادة صياغة مجالات أنا في حاجة إلى تغيير بلدي المشروع.لدي الثقة التي يجب أن تكون قادرة على العمل في تلك الربيع الأمن و Google App Engine معا.عموما يسرني مع الربيع المصدر البصيرة والقدرة على التفاعل مع المكتبات الأخرى.

وأخيرا الربيع الأمن يدعم OpenID إذا كان هذا هو شيء كنت ترغب في طبقة.أنا لم ألعب مع هذا الجزء بعد, لكن من البرنامج التعليمي كما تبدو بديهية جدا.الشيء الجميل هنا هو أن عليك أن تكون قادرا على إضافة بعد أن الحقيقة إذا اتضح أنه يجب أن يكون دعم OpenID بعد كل شيء.

أتمنى لكم حظا سعيدا!

نصائح أخرى

أنا فقط تعثرت على وظيفة الخاص بك.بدا لك (الفعل الماضي لأنه مضى وقت طويل) أن يكون الخلط حول HTTP / HTTPS استخدام المصادقة.إذا كنت تستخدم HTTP, كلمة المرور لا يتم ارتدت حولها في نص عادي.عادة, معلومات تسجيل الدخول التي يتم نشرها عبر HTTPS.قبل هذا الوقت ، الدورة ، التي تتبع طريق كبير بشكل عشوائي معرف في ملف تعريف الارتباط.مصادقة المستخدم على الملقم و الهوية الخاصة بهم المخزنة في الدورة (المخزنة على الخادم) إلى علامة أنهم وقعت في.

من تلك النقطة فصاعدا ، المستخدم هو تعقب عبر الدورة.نعم من الممكن أن رجل-في-الوسط يمكن أن خطف كوكي وتحمل الهوية الخاصة بك.هذا هو الحال بالنسبة 100% من المواقع التي تعمل على HTTP ولكن من الواضح أنه ليس فقط مشكلة أو كنت أسمع المزيد عن ذلك.HTTPS, ملف تعريف ارتباط جلسة يمكن أن تكون علامة على أنها آمنة ، وهذا يعني أنه سوف يكون من أي وقت مضى إرسالها عبر HTTPS من المتصفح.في الماضي, لقد وجدت أن المتصفحات تتصرف بشكل مختلف في بعض الأحيان تقاسم نفس القيمة آمنة وغير آمنة نفس المسمى تعريف الارتباط (الذي هو فكرة غبية).أفضل رهان هو أن تستخدم بشكل منفصل اسمه تأمين ملف تعريف الارتباط لضمان يتم تسجيل المستخدم في تأمين الوظائف على موقع الويب الخاص بك.

أنا أتفق معك أن JAAS إطار النكراء.يجب أن يكون قد كتب من قبل حفنة من مختل المجانين مع الحس السليم.

أما بالنسبة باستخدام Google App Engine - أنها سوف تأخذ الرعاية من كل المصادقة بالنسبة لك.يبدو أنه لا يوجد لديك خيار سوى استخدام حسابات Google وهو عار.ومن المخزي أنهم يصرون على أن يمكنك إعادة توجيه إلى صفحة تسجيل الدخول لأن هذا يكسر الطريقة GWT التطبيق يعمل.أنا أبحث حاليا في إدارة حسابات بلدي لأنني لا أريد جوجل الخاصة لهم و لا أريد أن مفككة تجربة على موقعي.

ومع ذلك ، يبدو من المستحيل تتبع المستخدم من دون الدورة (الدورات يمكن أن تكون معتمدة في GAE ولكن بقوة لتعزيز قابلية في جي إن).دون جلسة أنا حرفيا لا تحتاج إلى إرسال كلمة المرور مصادقة المستخدم مع كل طلب RPC.جوجل هي سحب بعض الحيل لجعل getUserPrincipal() طريقة العمل عبر كتل الملقم - و يبدو أنك تحصل فقط على أن السحر إذا كنت اذهب مع حسابات Google.

ربما أنا في عداد المفقودين شيء ، ولكن مستندات جوجل فقط المقشود من خلال هذا الثقب :(

مرحبا هناك, إذا كنت تريد العمل مع جافا من الأفضل أن تنظر إلى النصيبه ...هذا أنيق جدا جافا الإطار الذي يوفر قدرا كبيرا.هو عنصر المنحى من خلال أمثلة من السهل جدا أن نفهم (انظر تسجيل الدخول-مثال على تمديد سبيل المثال الصفحة ...حصلت على تشغيله سريع جدا).كما أنها تعمل مع غيرها من js-الأطر ، ولكن أيضا العروض الخاصة اياكس التنفيذ.كما أن لديها مجموعة كبيرة قائمة مراسلات!

أنا أحاول أن أفعل نفس باستخدام بريمج هو الأمن-عنصر القيد.في التطبيق الأساسية/مصادقة تلخيصية تحت https على ما يرام.

في اليوم التالي سوف أيضا محاولة لتنفيذ تطبيق آخر باستخدام restlet و/أو جاكس-RS.كل أطر يوفر الأمن السنانير.

الدخول/الخروج (المسار) دورة (تسجيل الدخول/تسجيل الخروج).

هذا يمكن تنفيذها بسهولة باستخدام بريمج تصفية (مرة أخرى ، بدعم كامل من جي)

كملاحظة جانبية, وقد أي شخص لديه أي حظ مع الربيع.الأمن على Google App Engine ؟

الربيع الأمن معتمد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top