JAAS حدة هر تسجيل الدخول وسيلة ممكنة لتمرير عنوان IP

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

سؤال

ولقد كنت أبحث في وسيلة لتمرير الملكية الفكرية العميل وكذلك معرف المستخدم وكلمة المرور من صفحة تسجيل الدخول JAAS لتنفيذ وحدة تسجيل الدخول JAAS في التعليمات البرمجية الويب الخاص بي. JAAS يسمح فقط معرف المستخدم وكلمة المرور لتمريرها إلى وحدة تسجيل الدخول. فكرتي هي أن يكون رمز جافا سكريبت لإلحاق عنوان IP إلى هوية المستخدم ومن ثم استدعاء النموذج يقدم. أنا فقط لم يكن لديك الحق في كود جافا سكريبت للقيام بذلك. يمكنك أن تساعد؟

وصفحة ويب واثنين من حقول الإدخال، j_userid وj_password، الذي يعرف رمز JAAS للبحث عنه. وماذا في ذلك شفرة جافا سكريبت يمكنني استخدامها لإضافة عنوان IP إلى الميدان j_userid قبل إرسال النموذج. كنت أفكر في "عنوان IP # معرف المستخدم" ثم في بلدي وحدة تسجيل الدخول كنت تأخذ عنوان IP قبالة حاليا.

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

المحلول

وأنا خلقت هذه الوظائف جافا سكريبت اثنين.

function addIpSubmit() 
{                 
    var theForm = document.getElementById("login_form");
    var userName = theForm.username.value;
    userName = theForm.clientip.value + "#" + userName;
    theForm.j_username.value = userName;
    if( validate_required( theForm.username, "User ID is required" ) )
    {
        if(  validate_required( theForm.j_password, "Password is required" ) )
        {
            theForm.submit();
        }
    }
}  

function validate_required( field, alerttxt )
{
    with (field)
    {
        if (value==null||value=="")
        {
            alert(alerttxt);
            return false;
        }
        else
        {
            return true;
        }
    }
}

ويسمى addIpSubmit من زر تسجيل الدخول. يمكنك ان ترى لدي حبة لوضع عنوان IP في حقل مخفي. كما مخفية مجال JAAS j_username وشغل من قبل في وظيفة addIpSubmit ().

<input id="clientip" type="hidden" name="clientip" value="#{loginMBean.ip}"/>
<input id="j_username" type="hidden" name="j_username" />
<input type="button" name="OtherLogin" value="Login" onclick="addIpSubmit()" />

ووmungs الملكية الفكرية لاسم المستخدم ويدعو JAAS تقديم وظائف. ثم في وحدة تسجيل الدخول أحصل على عنوان بروتوكول الإنترنت واسم المستخدم بها.

String userid = username;

if( username.contains( "#" ) )
{
    ip = username.split( "#" )[0];
    userid = username.split( "#" )[1];
}

ونتذكر فقط أن FacesContext.getCurrentInstance (). getExternalContext (). getRemoteUser () لديها الآن الملكية الفكرية # معرف المستخدم في ذلك.

نصائح أخرى

عذرا، لا أعتقد أن هناك وسيلة للحصول على الملكية الفكرية على جانب العميل، في سهل جافا سكريبت.

واختبار الملكية الفكرية عن بعد على جانب الملقم قد لا يكون الحل إذا كنت لا تتحكم في البنية التحتية بين العميل والخادم (الحمل موازنات، وكلاء ...). إذا كنت واثقا الملكية الفكرية البعيد الملكية الفكرية للعميل، يجب أن تكون قادرة على الإختراق هر صمام أو مرشح بريمج.

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