मैं एक छोटा स्प्रिंग प्रोजेक्ट विकसित कर रहा हूं जिसमें लॉगिन पेज में दो प्रकार के उपयोगकर्ता व्यवस्थापक और कर्मचारी हैं। लॉगिन प्रयास पर मैं वसंत एमवीसी 4 का उपयोग कर सत्र लागू करना चाहता हूं और उपयोगकर्ता भूमिका (व्यवस्थापक या कर्मचारी) के आधार पर जेएसपी भी खोलना चाहता हूं। सत्र में नाम, आईडी, भूमिका, सत्र आईडी जैसे चार/पांच क्षेत्र हैं। मैं चाहता हूं कि ये जानकारी जेएसपी पृष्ठों के माध्यम से यात्रा करे। लेकिन मैं यूआरएल पैरामीटर गुजरने का उपयोग करके ऐसा नहीं करना चाहता हूं।

मुझे नहीं पता कि यह कैसे करना है क्योंकि मैं वसंत ऋतु में नया हूं और यह मेरी पहली परियोजना है। कृपया मेरी मदद करें। अगर कोई मुझे नमूना कोड प्रदान कर सकता है और इस पर मेरा मार्गदर्शन कर सकता है तो यह बहुत मददगार होगा।

// लॉग इन करें। जेएसपी कोड

var MobileNo=$('#mobno').val();
            var StaffPwd=$('#pwd').val();
            $.ajax
            (
                    {
                    url: "http://localhost:8080/OnlineStore/kmsg/grocery/Login",
                    type: "POST",
                    data: {MobileNo: MobileNo,StaffPwd: StaffPwd},
                    success: function(data)
                    {
                        var vUserRole = data["UserRole"];
                        var vUserName = data["UserName"];

                        if(data==="")
                            {
                            alert("Login Failed");
                            }
                        else
                            {
                            if(vUserRole == "Admin")
                                {
                                   alert("Login Success: " + vUserName);
                                   window.location.href = "http://localhost:8080/OnlineStore/JspPages/City.jsp";
                                }
                            if(vUserRole == "CityAdmin")
                                {
                                    alert("Login Success: " + vUserName);
                                     window.location.href = "http://localhost:8080/OnlineStore/JspPages/Locality.jsp";
                                }
                            if(vUserRole == "Staff")
                                {
                                    alert("Login Success: " + vUserName);
                                    window.location.href = "http://localhost:8080/OnlineStore/JspPages/CustomerOrder.jsp";
                                }                           
                            }
                    },
                    error: function(e)
                    {
                    alert('Error:' +e)
                    }
                    }
            );

// यह नियंत्रक कोड है

 @RequestMapping("/Login") 
public @ResponseBody UserServiceModel selectStaff(@RequestParam Map<String,String> requestParams) throws Exception 
{ 
String MobileNo = requestParams.get("MobileNo"); 
String StaffPwd = requestParams.get("StaffPwd"); 
return staffAdapter.login(MobileNo, StaffPwd); 
}

--------------

0
RishiPandey 29 जिंदा 2016, 17:44

1 उत्तर

सबसे बढ़िया उत्तर

बस अपने डेटा को किसी क्रमबद्ध वस्तु में संग्रहीत करें। उदाहरण के लिए:

public class SessionData implements Serializable {
    private String name;
    private String id;
    private String role;

    //etc..

}

फिर इस ऑब्जेक्ट को सत्र विशेषता के रूप में सेट करें जब उपयोगकर्ता पहली बार लॉग इन करता है:

session.setAttribute("sessionData", new SessionData(name, id, role, etc...))

इस ऑब्जेक्ट को जेएसपी पेज में एक्सेस करने के लिए आप उपयोग कर सकते हैं: ${sessionScope['sessionData']}, एक विशिष्ट फ़ील्ड तक पहुंचने के लिए:

${sessionScope['sessionData'].id}
${sessionScope['sessionData'].name}
${sessionScope['sessionData'].role}

JavaScript फ़ाइलों में इन विशेषताओं तक पहुँचने के लिए बस अपने JSP पृष्ठ में कुछ पृष्ठ डेटा को परिभाषित करें, उदाहरण के लिए:

<script type="text/javascript">
    pageData = {
        id: "${sessionScope['sessionData'].id}",
        name: "${sessionScope['sessionData'].name}",
        role: "${sessionScope['sessionData'].role}"
    }
</script>

और जेएस फ़ाइल में उनके माध्यम से संदर्भित करें:

pageData.id
pageData.name
pageData.role

मैं देख सकता हूं कि आप भूमिका आधारित एप्लिकेशन बनाने की कोशिश कर रहे हैं। आप पहले से ही स्प्रिंग एमवीसी का उपयोग कर रहे हैं, किसी भी कारण से इसके साथ स्प्रिंग सुरक्षा का उपयोग क्यों न करें? मैं ऐसा करने की अत्यधिक सलाह दूंगा क्योंकि यह आपके जीवन को बहुत आसान बना देगा।

0
Paulius Matulionis 29 जिंदा 2016, 19:09
पॉलियस, मैं स्प्रिंग सुरक्षा का उपयोग करके इसे कैसे कार्यान्वित कर सकता हूं। मुझे पता नहीं है। क्या आप इस पर मेरा मार्गदर्शन कर सकते हैं?
 – 
RishiPandey
30 जिंदा 2016, 10:21