2010-12-29 12 views
5

से एक विशिष्ट भूमिका में सभी उपयोगकर्ताओं को ईमेल करना मैं साइटकोर भूमिका में सभी उपयोगकर्ताओं को वर्कफ़्लो नोटिफिकेशन कैसे भेज सकता हूं? उदाहरण के लिए, वर्कफ़्लो में अगला चरण कानूनी विभाग के लिए स्वीकृति या अस्वीकार करना है। कानूनी स्वीकार्य भूमिका में सभी उपयोगकर्ताओं को साइटकोर कैसे ईमेल भेज सकता हूं? मैं एक वितरण सूची बनाए रखने से बचने की कोशिश कर रहा हूं और उपयोगकर्ताओं के ईमेल पते को गतिशील रूप से पकड़ना चाहता हूं।साइटकोर वर्कफ़्लो

उत्तर

8

साइटकोर सुरक्षा ASP.NET सुरक्षा मॉडल पर आधारित है। पाया उन के माध्यम से

var users = System.Web.Security.Roles.GetUsersInRole("yourdomain\yourrole"); 

और बाद में पुनरावृति पर और ईमेल संपत्ति पढ़ें:: इसलिए, आप मानक ASP.NET एपीआई का उपयोग कर सकते हैं एक निश्चित भूमिका के उपयोगकर्ताओं प्राप्त करने के लिए

foreach (var user in users) 
{ 
    var membershipUser = System.Web.Security.Membership.GetUser(user); 
    var email = membershipUser.Email; 
    // use this email to send the message to that user 
} 

मैं में गलत हो सकता है वाक्यविन्यास विवरण, लेकिन मुझे यकीन है कि आप इसे सामान्य विचार जानने के बारे में समझ सकते हैं।

+0

ये उपयोगकर्ता साइटकोर भूमिकाओं में हैं। मैं साइटकोर भूमिकाओं में उपयोगकर्ताओं को कैसे प्राप्त करूं? मैंने सवाल संपादित किया। –

+0

एचएम, ऐसा लगता है कि मैंने इसे स्पष्ट नहीं किया है और आपका प्रश्न स्पष्ट रूप से इसका उल्लेख नहीं करता है - साइटकोर का कौन सा संस्करण आप उपयोग कर रहे हैं? –

+0

मेरा मतलब है, 6.0 से पहले के संस्करणों में स्वयं की सुरक्षा प्रणाली और संबंधित एपीआई थी। इसलिए, यदि आप 5.X का उपयोग कर रहे हैं, तो उपरोक्त नमूना आपके लिए काम नहीं करेगा ... अन्यथा, यह मानक एएसपी.NET सुरक्षा API –

3

अप्रत्यक्ष सदस्यता को हल करने के लिए आप Sitecore.Security.Accounts.RolesInRolesManager का उपयोग कर सकते हैं जो उपयोगकर्ता खातों को भी लौटाता है जो निर्दिष्ट भूमिका का अप्रत्यक्ष हिस्सा हैं।

RolesInRolesManager.GetUsersInRole(Role.FromName(roleName), true)