है या नहीं, यह जांचने का कोई शानदार तरीका है कि कुछ विशिष्ट उपयोगकर्ता (जो लॉग इन नहीं है) में कुछ विशिष्ट भूमिका है?जांच कर रहा है कि विशिष्ट उपयोगकर्ता की भूमिका
def user = User.get(1) //Get user with id 1
if (ifAnyGranted(user,"ROLE_ADMIN")) { //This is the line I need to implement somehow
...
}
अग्रिम धन्यवाद:
यहाँ grails उदाहरण (सादा जावा लेकिन वाक्य रचना के लिए आम तौर पर एक ही है)।
class User {
static hasMany = [authorities: Role]
//....
}
class Role {
static belongsTo = User
String description
String authority
//....
}
तो भूमिका-जांच के लिए अपने कोड सरल है::
User user = User.get(1)
if (user.authorities.any { it.authority == "ROLE_ADMIN" }) {
// user is a admin
}
एक अद्यतन जवाब कर सकते हैं
यह थोड़ा अस्पष्ट है कि तुम क्या कह रहे हैं है। आप उपरोक्त कोड की तुलना में कुछ "सुंदर" ढूंढ रहे हैं? क्या आपके द्वारा प्रदान की जाने वाली स्निपेट आपके लिए काम करती है? –
वह पंक्ति एक उदाहरण था जो मुझे सटीक रूप से दिखाने के लिए थी। अगर कोई ग्रिटेड (उपयोगकर्ता, भूमिकाएं) कोई फ़ंक्शन नहीं है। – bezmax