بتاريخ: 7 أغسطس 201411 سنة comment_253434 1- ى باش مهندس مصطفى ماجد جزاك الله خيرا على مجهودك الرائع فى محاضارات adf انا طبقت مثالك فى الفديو رقم 22 ويعمل بحمد الله لكن لدى ملاحظة به اننى عندما اقوم بتسجيل الدخول باسم مستخدم صحيح وباسورد خطا كاختبار للدالة تقوم فعلا لاول مره بعدم الدخول الى البرنامج بس عندما احوال للمرة الثانية يقوم البرنامج بالدخول ((اسم مستخدم صحيح وباسورد خطا)) وبيعرض المستخدمين الى قام بالدخول قبل كده فى حقل اسم المستخدم ((كانه يقوم بتخزين الباسورد لها المستخدم )) زى البقاء متصلا فى المنتديات . وكزلك قمت بتطبيق الدالة الى قمت بكتابتها لانهاء الجلسه بس مافى فايده زى ماهى . معليش على الاطاله بس يريد ى باش مهندس تشرح الحل لهذه المشكلة بالخطوات . هذا هو الكود public String loginAction() { // Add event code here... FacesContext context = FacesContext.getCurrentInstance(); try { Application app = context.getApplication(); ValueBinding bind = app.createValueBinding("#{data.AppModuleDataControl.dataProvider}"); AppModuleImpl model =(AppModuleImpl) bind.getValue(context); UserInfo user=model.login(userName,password); if( user != null ) { context.getExternalContext().getSessionMap().put("userkey",user); return "welcome"; } } catch (Exception e) { // TODO: Add catch code e.printStackTrace(); } FacesMessage message = new FacesMessage("1- ليس لديك صلاحية الدخول الى النظام " + "2-تاكد من كاسم المستخدم وكلملة المرور "); context.addMessage(null,message); return null; } public String logout() { FacesContext ctx = FacesContext.getCurrentInstance(); ExternalContext ectx = ctx.getExternalContext(); HttpSession session = (HttpSession)ectx.getSession(false); session.invalidate(); return "logout"; } 2- المشكله الثانية فى تحويل بيجب رسالة فى الcasting وهى عملية تحويل انواع البيانات : ( المشكلة بالتحديد فى usertype and userid معرفه number وفى الكود تم تحويلها على int ) public UserInfo login(String userName,String password) { UserInfo user = null; ViewObject vo = getAppUsersView1(); ViewCriteria vc = vo.createViewCriteria(); ViewCriteriaRow vcr = vc.createViewCriteriaRow(); vcr.setAttribute("UserName",userName); vcr.setAttribute("Password",password); vc.add(vcr); vo.applyViewCriteria(vc); vo.executeQuery(); if(vo.hasNext()) { user = new UserInfo(); Row row = vo.next(); user.setUserName((String)row.getAttribute("UserName")); user.setPassword((String)row.getAttribute("Password")); /* user.setUserId(((Number)row.getAttribute("UserId")).intValue()); user.setUserName((String)row.getAttribute("UserName")); user.setPassword((String)row.getAttribute("Password")); user.setFirstName((String)row.getAttribute("FirstName")); user.setLastName((String)row.getAttribute("LastName")); user.setUserType(((Number)row.getAttribute("UserType")).intValue()); */ } return user; } } تقديم بلاغ
بتاريخ: 7 أغسطس 201411 سنة comment_253449 في بدابة الدالة login ضع الكود التالي if (userName == null || password == null) { return null; } أما بالنسبة لنوع البيانات فهذا يختلف حسب نوع البيانات في الجدول عندك ويجب تغييره ليتوافق مع جدولك تقديم بلاغ
بتاريخ: 11 أغسطس 201411 سنة كاتب الموضوع comment_253566 جزاك الله خيرا ى باش مهندس وزادك علما الكود يعمل ميه الميه بس محتاج لدالة لانهاء الجلسه logout والرجوع الى صفحة ال login من جديد اكون شاكر لحضرتك لو تساعدنى فى الموضوع ده لانو انا مبتدى فى jdevloper تقديم بلاغ
بتاريخ: 11 أغسطس 201411 سنة كاتب الموضوع comment_253574 شكرا ى باش مهندس لتفاعلك السريع مع اعضاء المنتدى وربنا يجعل هذا العمل فى ميزان حسناتك بس اريد توضيح شوى على الرد بالنسبة لانهاء الجلسه هل session.invalidate(); دالة جاهزة ام لديها كود انا لازم اضعو بداخلها واين اضع هذا الكود فى الابلكيشن موديول ام اين بالضبظ وجزاك الله خير الجزاء ى هندسه تقديم بلاغ
بتاريخ: 15 أغسطس 201411 سنة كاتب الموضوع comment_253709 جزاك الله خير جارى التنفيذ انشاء الله تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.