मैं एक बार में कई रोल्स के लिए एक नियंत्रक में प्राधिकरण जोड़ना चाहूंगा।
आम तौर पर इस तरह दिखेगा:
[Authorize(Roles = "RoleA,RoleB,RoleC")]
public async Task<ActionResult> Index()
{
}
लेकिन मैंने अपने रोल्स को कॉन्स्टेंस में स्टोर किया है, क्योंकि वे किसी बिंदु पर बदल सकते हैं या बढ़ सकते हैं।
public const RoleA = "RoleA";
public const RoleB = "RoleB";
public const RoleC = "RoleC";
मैं ऐसा नहीं कर सकता, क्योंकि स्ट्रिंग को संकलन समय पर जाना जाना चाहिए:
[Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)]
public async Task<ActionResult> Index()
{
}
क्या समस्या को दरकिनार करने का कोई तरीका है?
I COULD एक कास्ट लिखता है जिसमें बस "भूमिका, भूमिका, भूमिका" होती है - लेकिन मैं जादू के तार को नापसंद करता हूं और यह एक जादुई स्ट्रिंग है। भूमिका का नाम बदलना और संयुक्त स्ट्रिंग को बदलना भूल जाना एक आपदा होगी।
मैं MVC5 का उपयोग कर रहा हूं। ASP.NET पहचान और भूमिका संकलन समय पर जाना जाता है।