किसी उपयोगकर्ता को कार्रवाई करने से रोकने के लिए।सही तरीके से उपयोग करने के लिए isUserInRole (भूमिका)
- उदाहरण 1: भूमिका "व्यवस्थापक" केवल भूमिका कार्रवाई को नष्ट करने की अनुमति है।
- उदाहरण 2: "अतिथि" से अलग कोई भी भूमिका क्रियाएं कर सकती है।
public String delete() { if(FacesContext.getCurrentInstance().getExternalContext().isUserInRole("administrator"){ //.....the action to perform } return "Denied"; }
मैं मैं एनोटेशन EJB के
@RolesAllowed()
का उपयोग अभी तक मैं EJB लेकिन ManagedBeans उपयोग नहीं कर रहा पाती:
कोई वास्तविक मामले में, मैं इस किया है। तो सवाल यह है: क्या एक ही समय में कई भूमिकाओं का उपयोग करने का कोई तरीका है? कुछ कामकाज! उदाहरण: यदि 3 भूमिकाओं (व्यवस्थापक, मॉडरेटर, प्रबंधक) को एक क्रिया की अनुमति दी जानी चाहिए। मैं क्या करने के लिए बाध्य कर रहा हूँ:
if (FacesContext.getCurrentInstance().getExternalContext().isUserInRole("administrator")
|| FacesContext.getCurrentInstance().getExternalContext().isUserInRole("manager")
|| .....) {
//....
}
और यह सब तरीकों पर पुन: पेश करने के लिए एक दर्द है। तरीकों :(के सैकड़ों की तरह कुछ
सामान्य रूप से स्मार्ट अभ्यास! दरअसल, यह डैनिड संदेश प्राप्त करने के लिए बहुत परेशान है। मैं एडमिन पैनल को प्रदर्शित करने के लिए पहले से ही रेंडर एट्रिब्यूट का उपयोग करता हूं यदि भूमिका व्यवस्थापक है और इस तरह से। दृश्य में करने से आपके द्वारा पाठ्यक्रमों का उल्लेख किया गया है, लेकिन मुद्दा बनी हुई है: मुझे एनीमेशन करने के लिए बाध्य किया गया है प्रत्येक भूमिका अलग-अलग या ऑपरेटर का उपयोग कर रही है! क्या मैं गलत हूं? – Hanynowsky
यह # # {facesContext.externalContext.isUserInRole ('व्यवस्थापक')} से कम से कम संक्षिप्त है} :) यदि आपको उसी स्थिति को एक ही बार में दोहराना होगा देखें, फिर आप इसे उपनाम देने के लिए '' का भी उपयोग कर सकते हैं। अद्यतन उत्तर भी देखें। –
BalusC
धन्यवाद बलुस! नई भूमिकाओं को परिभाषित करने और मैंगड बीन में क्रिया विधियों को हैक करने से बचने के लिए ui: param के साथ मास्टर टेम्पलेट का उपयोग करना बुद्धिमानी है। यह अब मेरे लिए ठीक काम करता है, मुझे बस इतना करना है कि दृश्य में आवश्यक नई भूमिका उपनाम लागू करें। @Bozho विधि भी मेरे लिए ठीक काम कर रही है अगर मैं वास्तव में अस्वीकृत पृष्ठ को गैर अधिकृत उपयोगकर्ता को दिखाना चाहता हूं। – Hanynowsky