سؤال

أقوم بتطوير تطبيق ويب. أود أن أكون قادرًا على السماح لبعض الأصدقاء برؤيتها ، ولكن ليس الآخرين الذين يتعثرون على عنوان URL. كنت سأضع صفحة مقصودة ثم مربع كلمة مرور بسيط. بمجرد إدخال كلمة المرور الصحيحة ، سأقوم فقط بتسجيلها في الجلسة وفضح الموقع كالمعتاد لبقية الوقت الذي يحافظون عليه في فتح المتصفح.

هل هناك طريقة قياسية للقيام بذلك؟ سأضيف رمزًا إضافيًا إلى الويب الخاص بي لدعم هذا ، لست متأكدًا مما إذا كانت هناك طريقة مدمجة للقيام بذلك بالفعل (أنا أستخدم Java Servlets).

شكرًا

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

المحلول

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

<form action="j_security_check" method="post">
    <input type="text" name="j_username">
    <input type="password" name="j_password">
    <input type="submit">
</form>

على افتراض أن لديك صفحات خاصة في مجلد اسمه /private وتقع صفحة تسجيل الدخول أعلاه في /private/login.jsp, ، ثم أضف الإدخالات التالية إلى webapp web.xml:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Private</web-resource-name>
        <url-pattern>/private/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>friends</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Private</realm-name>
    <form-login-config>
        <form-login-page>/private/login.jsp</form-login-page>
        <form-error-page>/private/error.jsp</form-error-page>
    </form-login-config>
</login-config>

بعد ذلك ، في ServletContainer الذي تستخدمه ، تحتاج إلى تكوين ما يسمى مملكة إلى عن على Private. نظرًا لأنه من غير الواضح أي ServletContainer الذي تستخدمه ، إليك وثيقة مستهدفة Tomcat 8.0: تكوين عالم كيف. يمكنك تكوينه للتحقق من التحرير والسرد اسم المستخدم/كلمة المرور مقابل ملف XML أو قاعدة بيانات أو حتى موقع مخصص.


بديل مختلف تمامًا هو نمو آلية تسجيل الدخول إلى المنزل بمساعدة أ Filter الذي يتحقق من وجود المستخدم المسجل في نطاق الجلسة. نرى هذه و هذه أجب على كيفية تحقيق هذا.

نصائح أخرى

يجب أن تفكر في استخدام المصادقة البسيطة باستخدام HTACCESS

نرى http://www.elated.com/articles/password-proticing-your-pages-with-htaccess/

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